Должен ли я использовать класс BackgroundWorker для обработки очереди задач, если у меня нет пользовательского интерфейса? - PullRequest
2 голосов
/ 29 декабря 2011

Я использую .Net 3.5 (C #) и у меня есть очередь задач, которые я хочу запускать одна за другой, я делаю это с помощью класса BackgroundWorker (с его методами DoWork, RunWorkerCompleted и IsBusy и свойство).
1. Рекомендуется ли использовать класс BackgroundWorker, если у меня нет интерфейса? почему?
2. Я слышал, что класс BackgroundWorker устарел, правда? Кто-нибудь знает почему?
3. Есть ли другой класс, который может помочь мне сделать то, что я упомянул выше?
Спасибо!

приписка
Я запускаю второе задание сразу после завершения первого.

Ответы [ 2 ]

1 голос
/ 29 декабря 2011

Если у вас нет какого-либо пользовательского интерфейса, вам нужен какой-либо вид сортировки в другом потоке? Если вы выполняете задачи одну за другой, я бы просто вызывал их напрямую, если вам не нужно , чтобы сделать что-нибудь более сложное. Если вы знаете, что нужно сделать это в отдельной ветке, пожалуйста, опубликуйте более подробную информацию о ваших требованиях (включая тип проекта).

Насколько я знаю, BackgroundWorker вообще не считается устаревшим. В C # 5 это станет несколько менее важным из-за новых асинхронных функций, но, насколько я знаю, его можно использовать без проблем.

0 голосов
/ 29 декабря 2011

BackgroundWorker класс просто предоставляет более простой способ использования потоков.Это имеет какое-то отношение к пользовательскому интерфейсу.Пожалуйста, посмотрите ответ Джона Скита и его комментарии. Итак, вы можете продолжать его использовать.

Я слышал, что класс BackgroundWorker устарел, правда ли?

http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx не упоминает об устаревании BackgroundWorker. Итак, это не устарело.

...