关于TPL中关于AsyncLocal的线程切换,跳变和线程重用

问题描述 投票:1回答:1

在TPL中使用async / await时,它将重用空闲线程,并且理论上会在除最初使用的其他线程上调用回调吗?

在这种情况下,关于AsyncLocal,它将传递它的值以匹配流,还是我最终会得到另一个重用线程的值?

.net async-await task-parallel-library executioncontext
1个回答
1
投票

异步等待将从线程池中选择一个随机线程,除非有一个SynchronizationContext,它可以强制TPL在同一线程上继续。

AsyncLocal的想法是在线程之间保留一个值。 ThreadLocal是特定于线程的。

© www.soinside.com 2019 - 2024. All rights reserved.