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