我们可以更改 JVM 的 线程调度程序 吗?假设我的JVM正在处理线程的 抢先调度 ,而不是将其更改为我的自定义线程调度算法,或者JVM是否为调度程序提供了选择。
答案 0 :(得分:7)
通常,JVM不进行任何调度。这是操作系统的任务。例如,Linux具有可配置的调度选项,如果要添加新的调度策略,则可以更改内核。
但是,根据您为什么要这样做,您可以采用另一种方式解决问题,例如使用自定义Executor或Reactor样式框架,或者有效地禁用CPU的调度并自己完成Java中的所有工作。 (不是一个微不足道的话题,很少有用)
答案 1 :(得分:5)
归结为两种选择。 1)以编程方式操纵线程的优先级。优先级较高的线程将首先执行。
,或者 修改os设置,如此链接http://docs.oracle.com/cd/E24290_01/coh.371/e22838/tune_perftune.htm#CACCHIFA
中所述答案 2 :(得分:1)
我们可以更改JVM的Thread调度程序。
不,因为没有人可以改变。它在操作系统中。您在JVM线程调度中可能遇到的任何引用都是过时的过时和最坏的错误。