我认为关于async/await的一点是,当任务完成时,继续在调用await时在相同的上下文上运行,在我的情况下,这将是UI线程.
例如:
Debug.WriteLine("2: Thread ID: " + Thread.CurrentThread.ManagedThreadId);
await fs.ReadAsync(data, 0, (int)fs.Length);
Debug.WriteLine("3: Thread ID: " + Thread.CurrentThread.ManagedThreadId);
Run Code Online (Sandbox Code Playgroud)
我不指望这个:
2: Thread ID: 10
3: Thread ID: 11
Run Code Online (Sandbox Code Playgroud)
是什么赋予了?为什么延续的线程ID与UI线程不同?
根据这篇文章 [^]我需要显式调用ConfigureAwait来改变连续上下文的行为!