C# Task的使用
1。Task的使用
创建一个Task,有三种方式
1 //第一种 2 Task t1 = new Task(() => 3 { 4 Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss fff")+ ":Task创建完成1"); 5 }); 6 //启动task 7 t1.Start(); 8 9 //第二种 10 //Task工厂,Task自动启动 11 Task t2 = Task.Factory.StartNew(() => 12 { 13 Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss fff") + ":Task创建完成2"); 14 }); 15 16 //第三种 17 Action action = new Action(Test); 18 Task t3 = new Task(action); 19 t3.Start(); 20 public static void Test() 21 { 22 Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss fff") +":Task创建完成3"); 23 24 } 25 Thread.Sleep(3000); 26 Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss fff") +":线程完成");
View Code
注:t1、t2、t3任务同时开启时,为异步执行。如下图:
如果想同步执行,使用 Wait();
1 Task t1 = new Task(() => 2 { 3 Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss fff")+ ":Task创建完成1"); 4 }); 5 //启动task 6 t1.Start(); 7 8 t1.Wait(); 9 //Task工厂,Task自动启动 10 Task t2 = Task.Factory.StartNew(() => 11 { 12 13 Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss fff") + ":Task创建完成2"); 14 15 }); 16 t2.Wait(); 17 18 Action action = new Action(Test); 19 Task t3 = new Task(action); 20 t3.Start(); 21 t3.Wait(); 22 23 Thread.Sleep(3000); 24 Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss fff") +":线程完成"); 25 26 27 28 public static void Test() 29 { 30 Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss fff") +":Task创建完成3"); 31 32 33 }
View Code
当有多个Task进行同步执行时。可使用
Task.WaitAll(t1,t2,t3);
注:这里t1、t2、t3任务之间执行先后顺序为异步。
转载于:https://www.cnblogs.com/-xyl/p/9318885.html
C# Task的使用相关推荐
- VS Code 配置调试参数、launch.json 配置文件属性、task.json 变量替换、自动保存并格式化、空格和制表符、函数调用关系、文件搜索和全局搜索、
1. 生成配置参数 对于大多数的调试都需要在当前项目目录下创建一个 lanch.json 文件,位置是在当前项目目录下生成一个 .vscode 的隐藏文件夹,在里面放置一些配置内容,比如:settin ...
- 完美解决Error:Execution failed for task ':APP:transformClassesWithDexForDebug'...问题
今天下载一个demo运行出现问题,错误如下图 我的问题是JDK 1.8 版本问题问题,我吧1.8改成1.7运行成功 这个实在app下面的build.gradle 相信大伙在Android开发过程中都避 ...
- 安卓中运行报错Error:Execution failed for task ':app:transformClassesWithDexForDebug'解决
在androidstuio中运行我的未完项目,报错: Error:Execution failed for task ':app:transformClassesWithDexForDebug'. & ...
- Execution failed for task ':app:mergeDebugResources'.
这个问题就是资源文件重名了, 它下面有提示的路径,根据路径找到位置, 最后把自己不小心帖进去的删除掉即可 大致如下 Execution failed for task ':app:mergeDebug ...
- Android关于Task的一些实践之SingleTask, SingleInstance和TaskAffinity
上一篇文章粗略地介绍了一下关于Android中Task的基本知识.只是实践才是检验真理的唯一标准,所以.今天就来试验一下Task中的launchMode是否真的实现了文档所说的那样. 首先.定义三个A ...
- Spark源码分析之七:Task运行(一)
在Task调度相关的两篇文章<Spark源码分析之五:Task调度(一)>与<Spark源码分析之六:Task调度(二)>中,我们大致了解了Task调度相关的主要逻辑,并且在T ...
- 点击Notification正确回调到之前已经放置在后台的Task中的对应Activity,而不是创建它的一个新实例...
NotificationManager notificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE ...
- C# Task注意事项
1.在Task中调用主线程控件 Task.Factory.StartNew(() => {}).ContinueWith(task => {this.Invoke(new Action(( ...
- activiti任务TASK
一.概要 设计TASK的表主要是:ACT_RU_TASK,ACT_HI_TASKINST(见参考-activiti表): 任务主要有:人工任务(usertask),服务任务(servicetask)等 ...
- Error:Execution failed for task ':app:dexDebug'. com.android.ide.common.process.ProcessException
异常Log: Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.Process ...
最新文章
- 用Python分析了1w场吃鸡数据,原来吃鸡要这么玩!
- 数据加载很慢_Vaex真香!几秒钟就能处理数十亿行数据,比Pandas、Dask更好用
- Python正则表达式之零宽断言(4)
- linux 改成utc时间_C++下四种常用的程序运行时间的计时方法总结
- set escape on
- 回信,我的好朋友王一涵
- Python | Socket01 - 创建一个TCP服务器(阻塞+单线程),将TCP客户端发过来的字符串原路返回
- Leaflet文档阅读笔记-Zoom levels笔记
- leetcode isPalindrome (回文数判断)
- PySlowFast 视频理解代码库
- 2019上半年软考试题(转)
- HTML5 播放视频代码
- Three.js入门教程——教不会算我输
- 电源管理允许此设备唤醒计算机怎么关掉,允许计算机关闭此设备以节省电量灰色 | MOS86...
- 【电力电子技术】SEPIC 电路 与 ZETA 电路
- matlab输出箱线图的五个特征值_Matlab绘制箱线图
- 什么是穿透式监管,需要投资者做什么?
- 时序逻辑电路总结【一】触发器
- tile cannot extend outside image
- 国开计算机应用基础中考答案,国开电大 计算机应用基础(本) 形考一答案
热门文章
- android 动画引擎,一个使用openGL渲染的炫丽Android动画库
- python连接mongo_Python连接MongoDB操作
- python mac电脑定时关机怎么设置_python实现电脑定时关机
- 量子计算机最新研究进程,谷歌在量子计算机领域已取得重大突破,国内的研究进度怎么样了...
- 19-7-21 springboot学习
- 网站推广期间出现排名异常网站推广专员应如何应对?
- 网络推广——网络推广如何安排网站关键词的布局策略?
- 企业网络推广——浅析企业网络推广怎样看待企业网站的制作
- java excel读取操作,Java 操作 Excel (读取Excel2003 2007,Poi兑现)
- 列举某域名下所有二级域名的方法