关于 AsyncLocal 在 TPL 中的线程切换、跳跃和线程重用
About thread switching, hopping and thread reuse in TPL with respect to AsyncLocal
在 TPL 中使用 async/await 时,它会重用空闲线程并在理论上调用其他线程上的回调而不是最初使用的吗?
关于此上下文中的 AsyncLocal,它会传递其值以匹配流程,还是我最终会得到来自另一个重用线程的值?
Async-await 将从线程池中选择一个随机线程,除非有一个 SynchronizationContext,它可以强制 TPL 在同一个线程上继续。
AsyncLocal
的想法是跨线程持久化一个值。 ThreadLocal
是特定于线程的。
在 TPL 中使用 async/await 时,它会重用空闲线程并在理论上调用其他线程上的回调而不是最初使用的吗?
关于此上下文中的 AsyncLocal,它会传递其值以匹配流程,还是我最终会得到来自另一个重用线程的值?
Async-await 将从线程池中选择一个随机线程,除非有一个 SynchronizationContext,它可以强制 TPL 在同一个线程上继续。
AsyncLocal
的想法是跨线程持久化一个值。 ThreadLocal
是特定于线程的。