У меня есть стилистический вопрос о выборе реализации фонового потока, который я должен использовать в приложении формы Windows. В настоящее время у меня есть BackgroundWorker в форме, которая имеет бесконечный цикл (while(true)). В этом цикле я использую WaitHandle.WaitAny, чтобы поддерживать зависание потока, пока не произойдет что-то интересное. Одна из обработок событий, которые я жду, - это событие "StopThread", чтобы я мог выйти из цикла. Это событие сигнализируется, когда из моего переопределенного Form.Dispose().
Я где-то читал, что BackgroundWorker действительно предназначен для операций, которые вы не хотите связывать с пользовательским интерфейсом и иметь конечный конец - например, загрузку файла или обработку последовательности элементов. В этом случае "конец" неизвестен и только когда окно закрыто. Поэтому для меня было бы более целесообразным использовать для этой цели фоновый поток вместо BackgroundWorker?