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

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

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



参考用法:

​创建自己的awaitable类型​

​async和await用法​​ 

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

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


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


时间会记录下一切。