Parallel.For Termination vb.net

时间:2012-01-16 04:22:13

标签: vb.net parallel-processing vb.net-2010

我有一个使用parallel.for方法扫描网络文件夹的服务。

然而,最近我发现如果我停止服务,那么当Windows表示服务已停止时,该进程仍在任务管理器中运行。但它在0 cpu时内存不会改变。如果我尝试结束任务(即使是命令提示符中的强制),它只是说拒绝访问,我必须重新启动服务器。

确保一切都终止的最佳方法是什么?

我想添加一个全局布尔值,在停止过程中它变为true,我的并行代码的一部分将检查并调用s.stop。

谢谢

1 个答案:

答案 0 :(得分:2)

简而言之,当您的服务停止时,它需要取消所有挂起和运行的操作,然后等待这些操作实际完成。查看Task Cancellation的MSDN参考。