gpt4 book ai didi

c# - 如何保证异步方法继续在另一个线程上运行?

转载 作者:太空狗 更新时间:2023-10-29 22:37:01 25 4
gpt4 key购买 nike

ConfigureAwait(false) 是否保证继续在不同的线程上运行,或者仅表示不必在同一线程上运行?

有什么办法可以提供这种保证吗?

我需要测试跨线程的上下文流。

最佳答案

使用 ConfigureAwait(false) 告诉等待者不要在捕获的上下文中恢复,因此忽略 SynchronizationContext。这意味着继续将由使用 ThreadPool 线程的默认 TaskScheduler 安排。

如果原始线程是 ThreadPool 线程,延续可能在同一个线程上运行,否则你保证它是一个不同的线程。

您可以使用不带 SynchronizationContext(或带 ConfigureAwait(false))的专用线程开始测试,以确保 之前和之后的线程不同>异步操作。

关于c# - 如何保证异步方法继续在另一个线程上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27290214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com