在TPL中使用async / await时,它将重用空闲线程,并且理论上会在其他线程上调用回调,而不是最初使用的回调吗?
在这种情况下,关于AsyncLocal,它会传递其值以匹配流吗?还是我可能会从另一个重用线程中得到一个值?
答案 0 :(得分:2)
除非有SynchronizationContext,否则Async-await将从线程池中选择一个随机线程,这可以迫使TPL在同一线程上继续运行。
AsyncLocal
的想法是在线程之间保留一个值。特定于线程的是ThreadLocal
。