异步与并行~CancellationTokenSource对线程的作用
来源:互联网 发布:交行信用卡 知乎 编辑:程序博客网 时间:2024/05/22 05:15
返回目录
说起CancellationTokenSource我们应该不会陌生,对于Thread,Task来说,我们启动一个线程去做一些事,如果希望它在某个阶段去被动的停止,可以使用这个CancellationTokenSource对象,把它注入到Task里,使用当外界触发Cancel()方法时,你的这个线程就会被取消了,挺好用,感觉应该是在Task内部封装的一种方法回周机制,在外部控制Task的状态!
看大叔的测试代码
CancellationTokenSource cancelTokenSource = new CancellationTokenSource(); Task.Run(() => { while (!cancelTokenSource.IsCancellationRequested) { Console.WriteLine(DateTime.Now); Thread.Sleep(5000); } }, cancelTokenSource.Token); Console.WriteLine("按任务键取消这个任务"); Console.ReadLine(); cancelTokenSource.Cancel(); Console.WriteLine("已停止"); Console.ReadLine();
运行结果
通过微软对Task的封装,我们有了一些借鉴的地方,在设计一个框架时,如果希望为外界留一个接口,可以使用方法回调.
感谢各位的阅读!
谢谢!
返回目录
阅读全文
0 0
- 异步与并行~CancellationTokenSource对线程的作用
- GUI线程的异步并行设计
- 进程与线程、并发与并行、同步与异步的区别
- 异步,线程,并行概念
- C#CancellationTokenSource终止线程
- C# 中通过CancellationTokenSource实现对超时任务的取消
- C# 中通过CancellationTokenSource实现对超时任务的取消
- 通过CancellationTokenSource实现对超时任务的取消
- 同步、异步 与 串行、并行的区别
- java的并行同步与异步简介
- 多核与异步并行
- 多核与异步并行
- 并发,并行与异步
- 多核与异步并行
- 线程的同步、异步、串行、并行的关系
- C# 使用 CancellationTokenSource 终止线程
- gcd中同步异步并行串行线程数目的关系
- 线程并行与并发的区别
- 已有java文件添加到工程中的两种方法
- Ubuntu16.04 安装Python开发环境
- Leetcode学习日志-376 Wiggle Subsequence
- HDU 5996 Nim博弈
- 二叉树前序,中序,后序遍历详解
- 异步与并行~CancellationTokenSource对线程的作用
- 《UNIX网络编程 卷2》 笔记: 读写锁及其实现
- [编程题]创造新世界/牛客网/Python/解题报告+源代码
- Fragment 动画
- spark整合hbase
- Windows IO模型-Select模型(同步阻塞模型)
- centos7多终端gnome桌面
- 第一周、课时5:js中的变量和数据类型
- GBDT和随机森林的区别