gpt4 book ai didi

c# - 设置 Thread.Priority = Lowest 的真正含义是什么?

转载 作者:行者123 更新时间:2023-11-30 14:04:24 31 4
gpt4 key购买 nike

为了加快我的资源密集型应用程序的启动速度,我已将各种启动任务移至后台线程,并将这些线程标记为“Thread.Priority = Lowest”。

但是,这些低优先级线程仍然几乎与应用程序并行执行(当它加载其 UI 时),正如 ANTS Profiler 上的时间线所证明的那样。我的理解是,Lowest 意味着 CPU 将首先处理所有优先级较高的线程,然后再处理优先级较低的线程。

我的理解有问题吗?

最佳答案

线程可能会以最低优先级进行调度,但它们不会排在队列的后面。他们可能仍会获得足够的 CPU 时间片来吞噬某些真正瓶颈的资源,例如硬盘驱动器访问。这真的完全取决于你在做什么。

初始化计算量大吗?或网络密集型/硬盘密集型。当不同的任务使用不同的资源,或者允许计算密集型操作在不阻塞其他操作的情况下运行时,多线程方法将是最有效的。

单线程方法可以合理地对任务进行排序,使应用程序看起来加载速度更快,而多线程方法可能意味着每个人同时参与,甚至可能互相妨碍。

p>

关于c# - 设置 Thread.Priority = Lowest 的真正含义是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2204210/

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