如何取消parallel.foreach中的操作

avatar
作者
猴君
阅读量: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中的操作。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!