参考:http://www.cnblogs.com/scy251147/archive/2013/01/04/2843875.html

  1. static
    void TaskWithCancellation()
  2. {
  3.     var cancellationTokenSource = new CancellationTokenSource();
  4.     var cancellationToken = cancellationTokenSource.Token; //主要用于任务取消操作的信号量设置
  5.  
  6.     Task t = new Task(() =>
  7.     {
  8.         int i = 0;
  9.         while (true)
  10.         {
  11.             i++;
  12.             Thread.Sleep(1000);
  13.             Console.WriteLine("this is task iteration " + i);
  14.  
  15.             //注册信号量,如果用户取消,那么将会中断在此处
  16.             cancellationToken.ThrowIfCancellationRequested(); 
  17.  
  18.             Console.WriteLine("Test to see if below can be excuted...");
  19.             Console.WriteLine("I am not excute");
  20.         }
  21.     }, cancellationToken);
  22.  
  23.     t.Start();  //开始任务
  24.  
  25.     Thread.Sleep(1000);
  26.  
  27.     cancellationTokenSource.Cancel(); //取消任务
  28.  
  29.     try
  30.     {
  31.         t.Wait();
  32.     }
  33.     catch (AggregateException e)
  34.     {
  35.         if (e.InnerException is OperationCanceledException)
  36.             Console.WriteLine("the opeartion has been canceled...");
  37.         else
  38.             Console.WriteLine("encounter some unexpected exceptions...");
  39.     }
  40. }

Task加入取消功能的更多相关文章

  1. .NET 4 并行(多核)编程系列之三 从Task的取消

    原文:.NET 4 并行(多核)编程系列之三 从Task的取消 .NET 4 并行(多核)编程系列之三 从Task的取消 前言:因为Task是.NET 4并行编程最为核心的一个类,也我们在是在并行编程 ...

  2. JQuery实现点击关注和取消功能

    点赞,网络用语,表示“赞同”.“喜爱”. 该网络语来源于网络社区的“赞”功能.送出和收获的赞的多少.赞的给予偏好等,在某种程度能反映出你是怎样的人以及处于何种状态.点赞的背后,反映出你自己.与之对应的 ...

  3. vue的表单编辑删除,保存取消功能

    过年回来第一篇博客,可能说的不是很清楚,而且心情可能也不是特别的high,虽然今天是元宵,我还在办公室11.30在加班,但就是想把写过的代码记下来,怕以后可能真的忘了.(心将塞未塞,欲塞未满) VUE ...

  4. 使用Typescript重构axios(十八)——请求取消功能:总体思路

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  5. 使用Typescript重构axios(十九)——请求取消功能:实现第二种使用方式

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  6. 使用Typescript重构axios(二十)——请求取消功能:实现第一种使用方式

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  7. 使用Typescript重构axios(二十一)——请求取消功能:添加axios.isCancel接口

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  8. 使用Typescript重构axios(二十二)——请求取消功能:收尾

    0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...

  9. WPF 精修篇 长时间线程加取消功能

    原文:WPF 精修篇 长时间线程加取消功能 <Grid> <Grid.RowDefinitions> <RowDefinition Height="11*&qu ...

随机推荐

  1. java笔记--查看和修改线程的优先级

    查看和修改线程的优先级 java中每一个线程都有优先级属性,在默认情况下,新建的线程的优先级与创建该线程的线程优先级相同.每当线程调度器选择要运行的线程时,通常选择优先级较高的线程. 注:线程的优先级 ...

  2. [Effective JavaScript 笔记]第39条:不要重用父类的属性名

    假设想给上节讲的场景图库添加收集诊断信息的功能.这对于调试和性能分析很有用. 38条示例续 给每个Actor实例一个唯一的标识数. 添加标识数 function Actor(scene,x,y){ t ...

  3. 安装UnityVS 2012步骤

    英文原文是: Cracked by Twisted89//////////////////////////////////////////////////// INSTALL INSTRUCTIONS ...

  4. SQL SERVER 中的事务

    所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位.例如,在关系数据库中,一个事务可以是一条SQL语句.一组SQL语句或整个程序. 简单举个例子就是 你要同时 ...

  5. Convert Sorted Array to Binary Search Tree With Minimal Height

    Given a sorted (increasing order) array, Convert it to create a binary tree with minimal height. Exa ...

  6. poj2778

    题意:给出字符串长度n(<=2000000000),给出不可以包含的序列,最多10个,每个长度最大是10.问长度为n的合法序列有多少个?序列中只可能包含ACTG四个字符. 分析:AC自动机(DF ...

  7. NEFU 2016省赛演练一 F题 (高精度加法)

    Function1 Problem:F Time Limit:1000ms Memory Limit:65535K Description You know that huicpc0838 has b ...

  8. CentOS下源码安装mplayer播放器

    http://www.mplayerhq.hu/MPlayer/releases/ [root@ok MPlayer-1.2.1]# pwd /root/MPlayer-1.2.1 http://ww ...

  9. node.js简单的页面输出

    在node.js基本上没有兼容问题(如果你不是从早期的node.js玩起来),而且原生对象又加了这么多扩展,再加上node.js自带的库,每个模块都提供了花样繁多的API,如果还嫌不够,github上 ...

  10. x264_param_t结构体参数分析

    转自:http://blog.chinaunix.net/uid-17053077-id-1987955.html 参考网上的一些资料,结合个人的理解,对x264中x264_param_t结构体作了初 ...