gpt4 book ai didi

c# - 任务 LongRunning 的副作用?

转载 作者:IT王子 更新时间:2023-10-29 04:33:04 26 4
gpt4 key购买 nike

如果使用 LongRunning 选项创建任务,是否有任何副作用,因为它们不使用线程池

最佳答案

LongRunning 选项是对调度程序的提示,这意味着它可能选择在非 ThreadPool 线程上执行 Task(如果它是线程池支持的 DefaultScheduler 它很可能会)。 LongRunning 选项的一个副作用是该任务不允许任务内联。这意味着如果 LongRunning 任务创建了其他嵌套任务或子任务并在这些任务中的任何一个上调用了 Wait,它们将始终在不同的线程上执行,而不是被内联(即在执行 Wait 的同一线程上运行。

在其他人的回答中值得注意的是,创建大量需要很长时间才能完成的任务没有 LongRunning 提示仍然可能导致由于 DefaultScheduler 使用的线程注入(inject)算法,线程数量增加。该算法不区分池中被阻塞的线程和那些已经运行了很长时间的工作项目的线程,并且在这两种情况下都可以通过向池中注入(inject)更多线程来响应以尝试增加工作吞吐量。

关于c# - 任务 LongRunning 的副作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7915947/

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