相关疑难解决方法(0)

我以为还在和调用者在同一个线程上等待,但似乎没有

我认为关于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来改变连续上下文的行为!

c# multithreading asynchronous async-await

21
推荐指数
2
解决办法
4818
查看次数

标签 统计

async-await ×1

asynchronous ×1

c# ×1

multithreading ×1