【发布时间】:2012-02-07 17:54:03
【问题描述】:
我有一个简单的问题,我有以下简单的并行 for 循环。这个 for 循环是 Windows 服务的一部分。当有人停止服务时,我想停止循环。我可以找到三种停止并行的方法,即在 if 条件下。停止并行 for 循环的最佳方法是什么?有什么区别?
CancellationTokenSource cancellationToken = new CancellationTokenSource();
ParallelOptions options = new ParallelOptions();
options.CancellationToken = cancellationToken.Token;
Parallel.For(0, maximum_operations, options, (a, loopState) =>
{
{
//Do something
if(!KeepProcessing)
{
//loopState.Break();
//loopState.Stop();
cancellationToken.Cancel();
}
}
});
【问题讨论】:
标签: .net windows c#-4.0 for-loop parallel-processing