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

C# 优雅地终止QueueUserWorkItem()调度的线程池任务,c#,.net,windows,multithreading,C#,.net,Windows,Multithreading,我正在使用QueueUserWorkItem()从NetStream获取数据,如果可用,则使用“自动驾驶仪”范式。我不愿意为这个任务管理自己的线程,原因很少,其中一个原因是有很多并行调用 在应用程序终止时(不必进程终止),我希望优雅地终止这些工作项。也就是说,确认应用程序正在关闭的线程,并让它们有机会和平地折叠 应该怎样做呢 对于.NET 4.0及更高版本,请使用 在.NET 4.0之前,请使用 有关一些简单的示例,请参阅我的博客。查看一下就可以了!顺便说一句,由于它只在.NET4中引入,您会为

我正在使用
QueueUserWorkItem()
NetStream
获取数据,如果可用,则使用“自动驾驶仪”范式。我不愿意为这个任务管理自己的线程,原因很少,其中一个原因是有很多并行调用

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


应该怎样做呢

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

在.NET 4.0之前,请使用


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

查看一下就可以了!顺便说一句,由于它只在
.NET4
中引入,您会为
.NET
<4推荐什么?在.NET4.0之前,我会使用。创建一个
ManualResetEvent
并让线程定期对其执行
WaitOne(0)
以查看是否已设置。