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)
以查看是否已设置。