码迷,mamicode.com
首页 > 其他好文 > 详细

async await Task

时间:2017-05-06 14:16:58      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:reading   console   net   执行   library   omr   pre   read   new   

一、使用Task

引用命名空间

using System.Threading.Tasks;

1.工厂方式

Task.Factory.StartNew(() => {Console.WriteLine("Hello Task library!"); });

2.实例方式

Task task = new Task(() => PrintMessage());
task.Start();

 3. .NET4.5

Task.Run(() => PrintMessage());
//将指定的结果包装为已完成的Task
Task.FromResult<int>(GetSum(4, 5));

 二、async和await

async和await

(1)在async标识的方法体里面,如果没有await关键字的出现,那么这种方法和调用普通的方法没什么区别。

(2)在async标识的方法体里面,在await关键字出现之前,还是主线程顺序调用的,直到await关键字的出现才会出现线程阻塞。

(3)await关键字可以理解为等待方法执行完毕,除了可以标记有async关键字的方法外,还能标记Task对象,表示等待该线程执行完毕。所以await关键字并不是针对于async的方法,而是针对async方法所返回给我们的Task。

  (4)asyc方法的返回类型必须为void、Task或者Task<T>类型。也就是说async要么是void,要么和Task关联。

async await Task

标签:reading   console   net   执行   library   omr   pre   read   new   

原文地址:http://www.cnblogs.com/94pm/p/6816332.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!