阅读量:0
要取消Parallel.ForEach中的操作,可以使用CancellationTokenSource来取消操作。首先创建一个CancellationTokenSource对象,然后将其Token属性传递给ParallelOptions对象的CancellationToken属性,最后在需要取消操作的地方调用CancellationTokenSource的Cancel方法。
示例代码如下:
CancellationTokenSource cts = new CancellationTokenSource(); ParallelOptions options = new ParallelOptions { CancellationToken = cts.Token }; try { Parallel.ForEach(collection, options, item => { // 进行操作 // 如果需要取消操作,可以在这里检查Cancellation Token options.CancellationToken.ThrowIfCancellationRequested(); }); } catch (OperationCanceledException) { // 操作被取消 } // 在需要取消操作的地方调用Cancel方法 cts.Cancel();
这样就可以在需要的时候取消Parallel.ForEach中的操作。