Поток. Запустите () по сравнению с BackgroundWorker

каково различие между, создают поток с помощью thread.start и с помощью второстепенного рабочего?

5
задан bzlm 16 December 2009 в 08:40
поделиться

3 ответа

Предполагая, что вы говорите о .NET, a BackgroundWorker использует поток из пула потоков (он не создает новый поток, но может блокировать, если в пуле нет доступных потоков), а Thread.Start запускает новый управляемый поток.

11
ответ дан 18 December 2019 в 11:57
поделиться

Фоновый рабочий использует поток из пула потоков. Потоки пула потоков - это обычные потоки, но, поскольку они используются повторно, стоимость их запуска амортизируется. Поскольку стоимость запуска потока может быть значительной, пул потоков идеально подходит для краткосрочных задач.

3
ответ дан 18 December 2019 в 11:57
поделиться

the big advantage of BackgroundWorker is that you can call GUI code in it's ProgressChanged event handler.

1
ответ дан 18 December 2019 в 11:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: