C# await 和 wait()的区别是什么?

比如下面两种写法的区别:

第一种写法: await  _webSocket.ReceiveAsync();

第二种写法:Task res = _webSocket.ReceiveAsync(); 

                      res.wait();  

  • await 是异步等待,实际代码会被编译成一个可轮询状态机代码,await 后续的代码是异步等待 await 地方代码结束后才继续执行。等价于回调套回调的代码。
  • .wait 方法是同步等待,代码同步执行完后才会执行后续语句的代码。

参考: