认真地看了一些C# 5里面 await async的相关代码写法,给自己做一些特别提醒。
终于明白 await 应该是等待完成再执行后面的代码,虽然等待的方法正在执行,但是UI不会卡住而已。
async/await理论上讲还是C#语言层次的语法糖,在IL层面不涉及到新的指令;但它的实现并非“启动一个新线程去更新数据”,而是利用同步上下文实现了并行性(Concurrency),比起多线程来说,这个实现无论在时间还是空间消耗上,性能并不逊色[2]。"
await写法没有另开一个线程,本质是还是同步!