6

https://msdn.microsoft.com/en-us/magazine/gg598924.aspx

これは素晴らしい記事です。.NET フレームワークのソース コードを貼り付ける必要があるため、すべての詳細を取り上げることができないことは承知しています。したがって、テキストを引用します:

各スレッドには現在のコンテキストがあります。"Current" が null の場合、慣例により、スレッドの現在のコンテキストは "new SynchronizationContext()" になります。

一方、しかし:

デフォルトでは、現在の SynchronizationContext は待機ポイントでキャプチャされ、この SynchronizationContext は待機後に再開するために使用されます (より正確に は、 nullでない限り現在の SynchronizationContext をキャプチャし、その場合は現在の TaskScheduler をキャプチャします)。

これらの 2 つのステートメントは互いにほとんど矛盾しているため、これは著者が行ったいくつかの単純化の結果であると考えています (私はそれで問題ありません)。

誰でもこれを説明できますか?私の質問に答えるのに役立つかもしれないコード(変数を探すsyncCtx)、このコードは2番目の引用に関連しています。

4

1 に答える 1