Java中的windows多线程:不同的操作系统提供不同的性能吗?
这可能是一个非常愚蠢的问题,但我并没有在网上找到答案(至少我不能理解),我只是在特定的基准测试软件中找到了一些基准测试结果
让我给出一点背景:我目前正在Ubuntu机器上开发一个java多线程程序,办公室里有一台Windows 10机器用于测试,该程序应该在连接到生产线的Windows 7机器上运行
在这种情况下,我对Ubuntu的性能不感兴趣,因为客户希望在Windows机器上使用它。当我在Windows 10机器上测试软件时,感觉它比Windows 7 PC运行得更快,我必须说我不能完全访问Windows 7机器,所以我不能花时间测试它,而且据我所知,这些机器有完全相同的硬件组件,运行相同的Java版本(总是Java 8的最后一次更新)
这有意义吗将windows从windows 7更新到windows 10是否能让Java程序运行得更好(可能是通过优化线程?)。这个问题是基于纯粹的猜测,完全没有实际数据,所以如果没有意义,我很抱歉
谢谢大家的耐心
# 1 楼答案
是的,JVM不能保证线程执行的顺序,因为JVM可能会受到操作系统处理的其他进程的影响
# 2 楼答案
是的,操作系统将对线程性能产生影响,因为Java线程在JVM的线程上执行,JVM实际上将从其运行的操作系统中分配线程,因为JVM不能直接与处理器的线程交互。 因此,多线程程序的性能将受到底层操作系统的影响,底层操作系统将线程分配给相应的JVM