我正在使用“自动驾驶仪”范式QueueUserWorkItem()
从. NetStream
由于几个原因,我不想为这个任务管理我自己的线程,其中一个原因是有很多并行调用。
在应用程序终止时(不一定是进程终止),我希望优雅地终止这些工作项。也就是说,确认应用程序正在关闭的线程,并让它们有机会和平折叠。
那应该怎么做?
我正在使用“自动驾驶仪”范式QueueUserWorkItem()
从. NetStream
由于几个原因,我不想为这个任务管理我自己的线程,其中一个原因是有很多并行调用。
在应用程序终止时(不一定是进程终止),我希望优雅地终止这些工作项。也就是说,确认应用程序正在关闭的线程,并让它们有机会和平折叠。
那应该怎么做?
对于 .NET 4.0 及更高版本,请使用Cancellation。
在 .NET 4.0 之前,使用ManualResetEvent。
有关一些简单示例,请参阅我的博客Polling for cancel。