线程优先级可能不是您认为的那样。
线程的优先级是对操作系统的建议,在涉及这两个线程的任何调度或CPU分配决策点中,一个线程优先于另一个线程。但是,如何实现这一点取决于操作系统和JVM的实现。
JavaMex对线程优先级进行了很好的讨论。要点是:
- 优先级可能根本没有效果。
- 优先级是只有 一个 计算该使然调度的一部分。
- 实际上,可以将不同的Java优先级值转换为相同的值(例如,优先级10和9可以相同)。
- 每种操作系统都会自行决定如何处理优先级,因为Java使用的是底层操作系统的线程机制。
之后一定要阅读下一篇文章,该文章向您展示如何在Linux和Windows上完成它。
我 认为 您的问题可能出自上述第三点(如果您在Windows上运行),但这可能是其他任何原因。



