【发布时间】:2016-12-11 10:48:14
【问题描述】:
当我使用parallel.foreach时,有没有办法取消一个特定的线程?
我知道我可以使用parallelOptions() 取消所有带有cancelToken.token 的线程,但是如何取消一个特定线程?
我知道如果我要创建线程列表而不是 parallel.foreach,选择要取消的线程没有问题,但我希望我的程序以并行顺序运行,而不仅仅是异步(因为我想使用我所有的 CPU,而不仅仅是对 CPU 资源进行切片)。
【问题讨论】:
-
你能解释一下你真正想要完成什么吗?你想停止一个线程,还是循环的迭代?如果它真的是一个线程,为什么?
Parallel.ForEach主要为你管理线程,你不应该做这样的事情。
标签: .net multithreading parallel-processing parallel.foreach