优雅地终止QueueUserWorkItem()调度的线程池任务

时间:2013-11-07 18:51:48

标签: c# .net windows multithreading

我正在使用QueueUserWorkItem()在“自动驾驶”范例中从NetStream获取数据(如果有的话)。我不希望为这项任务管理自己的线程,原因很少,其中一个原因就是有很多并行调用。

应用程序终止后(必然进程终止)我希望优雅地终止这些工作项。也就是说,承认应用程序正在关闭的线程,让他们有机会和平地折叠。

应该怎么做?

1 个答案:

答案 0 :(得分:3)

对于.NET 4.0及更高版本,请使用Cancellation

在.NET 4.0之前,请使用ManualResetEvent

有关一些简单示例,请参阅我的博客Polling for cancellation