当遇到await时,控制传递给调用者,而等待的调用等待响应。
在将控制传递给调用方之前,同步上下文被存储。
在windows应用程序的情况下,同步上下文是主UI线程。因此,当await完成时,保存的上下文将被恢复,await下面的其余代码将与原始同步上下文一起执行。我想问-同步上下文中存储的所有项是什么。例如:
当前线程
局部变量值
还有什么?
SynchronizationContext
中没有存储任何内容。SynchronizationContext
本身被异步状态机捕获和存储,并在适当的时候通过调用它的Post
方法来使用。本地状态与捕获的上下文一起存储在异步状态机中。