-1

我只想知道如何在 BackgroundWorker 线程完成相关任务后终止它。有没有像 Kill 或 Abort 之类的方法或其他可以提供帮助的方法?

4

2 回答 2

2

为什么要担心任务完成后关闭线程?

线程在垃圾收集中被清理。调用 Dispose() 可能会帮助它更快地被清理,并且是“最佳实践”。

BackgroundWorker 任务旨在用于 WinForms 或使用 ThreadPool.QueueUserWorkItem(...) ,它将在内部自动处理线程的生命周期。

请参阅此相关问题:如何完全“杀死”后台工作人员?

于 2013-06-18T14:17:54.723 回答
1

不,您通常不能杀死BackgroundWorker正在运行的线程。该线程是ThreadPool的一部分。管理线程并ThreadPool决定何时应该分配更多或摆脱一些。您无需担心杀死线程。

这不应该是一个问题。这不像线程在空闲时使用任何 CPU 时间。它占用的少量系统资源不会被注意到。

于 2013-06-18T15:39:42.590 回答