.Net 4.5中通过CancellationTokenSource实现对超时任务的取消
2014-05-17 17:40
501 查看
在基于Task的任务执行过程中,我们通常使用CancellationTokenSource来实现任务取消,首先看一个简单的例子。
();
.Factory.StartNew(() =>
{
(!cancelTokenSource.IsCancellationRequested)
{
.Now);
.Sleep(1000);
}
}, cancelTokenSource.Token);
);
.ReadLine();
cancelTokenSource.Cancel();
);
.ReadLine();
很多时候,除了像上例中的那样手动取消外,我们往往也要对任务设置一个预期执行时间,对超时的任务自动取消。之前一般做法是新启动一个计时器,在计时器的超时回调中执行CancellationTokenSource.Cancel方法。在.Net 4.5中,该操作得到了进一步的简化,我们可以通过在创建CancellationTokenSource时设置超时来实现这一功能。
var cancelTokenSource = new CancellationTokenSource(3000);
除此之外,也可以通过如下代码实现同样的效果。
cancelTokenSource.CancelAfter(3000);
();
.Factory.StartNew(() =>
{
(!cancelTokenSource.IsCancellationRequested)
{
.Now);
.Sleep(1000);
}
}, cancelTokenSource.Token);
);
.ReadLine();
cancelTokenSource.Cancel();
);
.ReadLine();
很多时候,除了像上例中的那样手动取消外,我们往往也要对任务设置一个预期执行时间,对超时的任务自动取消。之前一般做法是新启动一个计时器,在计时器的超时回调中执行CancellationTokenSource.Cancel方法。在.Net 4.5中,该操作得到了进一步的简化,我们可以通过在创建CancellationTokenSource时设置超时来实现这一功能。
var cancelTokenSource = new CancellationTokenSource(3000);
除此之外,也可以通过如下代码实现同样的效果。
cancelTokenSource.CancelAfter(3000);
相关文章推荐
- .Net 4.5中通过CancellationTokenSource实现对超时任务的取消
- .Net 4.5中通过CancellationTokenSource实现对超时任务的取消
- C# 中通过CancellationTokenSource实现对超时任务的取消
- C# 中通过CancellationTokenSource实现对超时任务的取消
- C# CancellationTokenSource 终止线程 CancellationTokenSource实现对超时任务的取消
- 第七节:利用CancellationTokenSource实现任务取消和利用CancellationToken类检测取消异常。
- 使用CancellationTokenSource来取消Task
- 【C#】46. 使用CancellationTokenSource 取消 Task
- 一种利用线程池线程执行任务, 并能够结束超时任务的方法 (.NET实现)
- C#5.0 采用CancellationTokenSource方式取消Task
- 协作式取消 CancellationTokenSource
- Quartz.NET 通过配置文件实现任务调度
- C# CancellationTokenSource和CancellationToken的实现
- C# CancellationTokenSource和CancellationToken的实现
- Quartz.NET 2.0 学习笔记(3) :通过配置文件实现任务调度
- 通过多线程为基于 .NET 的应用程序实现响应迅速的用户
- 通过多线程为基于 .NET 的应用程序实现响应迅速的用户[改进]
- 可以通过基类实现的几种功能。vs2008 .net 2.0
- 通过飞信的FetionVM的.net虚拟机来加载.net程序,实现在未安装.net的机器上运行.net程序