C# 中的await

今天看代码遇到了很多await,梳理一下await的用法。

await只针对awaitable对象,经常和Task一起使用,主要用法如下:

var task = RunAsync(); //开始执行异步操作
DoSomeThing(); //主线程开始执行其他操作
await task; //主线程阻塞,等待task异步执行完成
DoOtherThing() //再执行其他操作

参考用法:

创建自己的awaitable类型

async和await用法 

其他语言中也有相关语法:

体验异步的终极解决方案-ES7的Async/Await

另外.net中使用Task,BackgroundWorker,ThreadPool也能很方便的实现异步。

原文地址:https://www.cnblogs.com/bincoding/p/8065437.html