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