gpt4 book ai didi

Java - 线程优先级是绝对的吗?

转载 作者:行者123 更新时间:2023-12-02 04:41:45 25 4
gpt4 key购买 nike

例如,我运行多个具有不同优先级的无限线程。当发生线程切换时,低优先级的线程会被选择吗?优先级是绝对的还是只影响线程选择概率。

最佳答案

大多数调度程序都基于 multilevel feedback queues 。这些优先级主要基于程序的行为。内核将您分配的线程优先级更多地视为“提示”。

例如,如果一个线程执行大量 IO,那么由于 MFQ 的运行方式,即使它的优先级低于另一个线程,也可以更频繁地调度它。花费较多调度量的线程将被移至 MFQ 中较低的优先级。放弃部分量子量(即 IO)的线程可能会保持当前优先级。

如果您为线程 1 分配比线程 2 更高的优先级,并且它们正在处理类似的任务,则线程 1 获得调度的可能性更高。这并不意味着线程 1 必须比线程 2 更频繁地调度,它只是向内核暗示您希望它比线程 2 更频繁地调度。最后​​它启动了到内核​​哪个线程何时被调度。

关于Java - 线程优先级是绝对的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30105856/

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