我正在使用QueueUserWorkItem()
在“自动驾驶”范例中从NetStream
获取数据(如果有的话)。我不希望为这项任务管理自己的线程,原因很少,其中一个原因就是有很多并行调用。
应用程序终止后(不必然进程终止)我希望优雅地终止这些工作项。也就是说,承认应用程序正在关闭的线程,让他们有机会和平地折叠。
应该怎么做?
答案 0 :(得分:3)
对于.NET 4.0及更高版本,请使用Cancellation。
在.NET 4.0之前,请使用ManualResetEvent。
有关一些简单示例,请参阅我的博客Polling for cancellation。