.NET中async与await的使用
2017-02-27 22:39
621 查看
.NET中async与await的使用
using System;using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
namespace ConsoleApplication13
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("主线程A:" + Thread.CurrentThread.ManagedThreadId);
new Action(() => { }).BeginInvoke(new AsyncCallback(t => {
Console.WriteLine("异步委托线种F:" + Thread.CurrentThread.ManagedThreadId);
Console.WriteLine("AsyncState:"+((IAsyncResult)t).AsyncState);
Console.WriteLine(DoBigThing().Result);
}), 2);
Console.WriteLine("主线程E:" + Thread.CurrentThread.ManagedThreadId);
Console.ReadKey();
}
private static async Task<string> DoBigThing()
{
Console.WriteLine("async方法进入时线程B:" + Thread.CurrentThread.ManagedThreadId);
//await 一个耗时的任务
string re = await Task<string>.Run(() =>
{
Console.WriteLine("await方法内运行的线程C:" + Thread.CurrentThread.ManagedThreadId);
Thread.Sleep(TimeSpan.FromSeconds(5));
return "HI";
});
Console.WriteLine("await方法执行后的下一行代码的线程D:" + Thread.CurrentThread.ManagedThreadId);
return re;
}
}
}
相关文章推荐
- 介绍.net 4.5 异步编程核心内容,如何使用Async和Await进行异步编程
- .Net 4.5 的async 和await 的简单理解使用
- .NET 4.5 使用async和await关键字调用异步方法
- .NET中的async和await关键字使用及Task异步调用实例
- .Net异步编程之Async与Await的使用
- [.NET] 怎样使用 async & await 一步步将同步代码转换为异步编程
- 【转】.NET 4.5 使用async和await关键字调用异步方法
- [.NET] 怎样使用 async & await 一步步将同步代码转换为异步编程
- .net 4.5如何使用Async和Await进行异步编程
- [.NET 4.5] ADO.NET / ASP.NET 使用 Async 和 Await 异步 存取数据库
- .NET/C# 使用async和await关键字调用异步方法
- 在Windows Phone和Silverlight 4中可以使用Async和Await特性了
- 可移植类库无法使用async、await关键字
- .NET异步操作学习之一:Async/Await中异常的处理
- .Net 4.5 异步编程初试(async和await)
- 不要在 ASP.NET 4.5 Beta 的 Page 类事件上直接使用 async 与 await
- 如何在.net4.0中使用.net4.5的async/await
- async 和 await 被我这个新手第一次使用的笔记
- .NET 4.5新关键字async和await:
- .Net 4.5 异步编程初试(async和await)