我對C#的異步是不太了解的,今天了解了一下瘦赫,以及做了一些實驗。
得到了一下的結論蛤迎,論證過程就不公布了确虱,就記錄幾條結論
1.Task是C#里的任務,開啟一個任務相當于開啟一個線程來執(zhí)行代碼邏輯替裆。
2.如果主線程調用異步方法校辩,那么將不會阻塞主線程的代碼執(zhí)行窘问。
3.C#聲明異步方法, async 必須 配合await方法一起使用。如果只用了async聲明方法宜咒,沒有await,那么它只能是同步方法惠赫,沒有聲明async方法簽名的方法內部不能使用await關鍵字。
4.await關鍵字會等待異步方法執(zhí)行完成故黑,所以使用await 等待之后儿咱,會阻塞當前線程繼續(xù)執(zhí)行。也就是同步模式场晶,在異步方法內部寫同步代碼混埠。