В моей программе будет время, когда мне придется позвонить
Thread.Sleep(Timeout.Infinite);
для «временной приостановки» работы BackgroundWorker. Групповое поле будет отображаться до того, как поток фонового рабочего спит. В этом групповом блоке есть кнопка, которая должна «разбудить» поток фонового рабочего и продолжить его.
Если я вызываю Thread.Interrupt () (который, между прочим, я не могу использовать, пока не создаю объект Thread, чего я не должен делать) в событии button_Click, например:
private void button1_Click(object sender, EventArgs e)
{
Thread.Interrupt(); //interrupt thread
}
Поток, который он "будет" прерывать, - это поток пользовательского интерфейса, я прав? Что мне нужно сделать, это прервать поток BackgroundWorker. Как мне это сделать?
РЕДАКТИРОВАТЬ: Спасибо за те, кто ответил на этот вопрос. Я буду использовать AutoResetEvent. Кажется более подходящим для моего использования.