我正在测试一个多线程 Java 程序。为了调试,我让线程打印出语句。打印输出的顺序如下:
- 主题消息 1
- 主题消息 2
- 主题消息 1
- 主题消息 2
问题是在某台机器上它变为:
- 主题消息 1
- 主题消息 1
- 主题消息 2
- 主题消息 2
该机器与我测试的所有其他机器具有相同版本的 Java。起初我以为是 Windows 8 的问题,因为以前的都是 Windows 7,但我在另一台 Windows 8 机器上试了一下,它工作正常。所以我的问题是还有哪些其他变量会影响 Java 中的线程调度?仅供参考,发生错误顺序的机器是带有 Windows 8 的 Acer Aspire E1-521-0694 AMD Dual Core E2-1800。