当我们说同步上下文存储时,存储的都是什么?



当遇到await时,控制传递给调用者,而等待的调用等待响应。

在将控制传递给调用方之前,同步上下文被存储。

在windows应用程序的情况下,同步上下文是主UI线程。因此,当await完成时,保存的上下文将被恢复,await下面的其余代码将与原始同步上下文一起执行。

我想问-同步上下文中存储的所有项是什么。例如:

  1. 当前线程

  2. 局部变量值

  3. 还有什么?

SynchronizationContext中没有存储任何内容。SynchronizationContext本身被异步状态机捕获和存储,并在适当的时候通过调用它的Post方法来使用。本地状态与捕获的上下文一起存储在异步状态机中。

最新更新