Старт стоп возобновить поток с#
Эй, я работаю над примером того, как заставить поток запускаться, останавливаться и продолжать работу после остановки
я написал код для запуска, но не знал, как остановить тот же поток
private void startBtn_Click(object sender, EventArgs e) { //START BG WORKER backgroundWorker1.RunWorkerAsync(); Thread thr = new Thread(Start); thr.SetApartmentState(ApartmentState.STA); thr.Start(); } static void Start() { var dr = new ChromeDriver(); dr.Navigate().GoToUrl("http://www.google.com"); dr.Navigate().GoToUrl("http://www.facebook.com"); } private void cancelBtn_Click(object sender, EventArgs e) { } private void contiBtn_Click(object sender, EventArgs e) { }
Что я уже пробовал:
как запустить,остановить, возобновить поток в c#
George Swan
Я не думаю, что разумно останавливать и перезапускать потоки. Такие действия блокируют потоки и приводят к неэффективному использованию пула потоков. Моя рекомендация, как бы то ни было, состояла бы в том, чтобы отказаться от использования BackgroundWorker и принять современные асинхронные методы, предоставляемые async await asynchronous framework на основе задач. Эти методы дают достаточную абстракцию, чтобы вам не приходилось напрямую маршалировать потоки.