0 java multithreading processor
例如,我有 4 核处理器,8 线程。我很确定,这个线程数量与 java 线程数量没有直接关系。
根据我的理解,您正在谈论4 个实际核心和每个核心 2 个超线程,这在技术上意味着8 个虚拟核心 (vCpu)。这意味着8个线程可以并行执行而无需任何上下文切换(这里我们不考虑超线程的复杂性)
Java 线程与操作系统线程一对一映射,而不是与硬件线程一对一映射。这意味着对于和,Java 取决于正在运行的底层。操作系统可以创建任意数量的线程,这些线程可以在处理器上的任何可用线程上运行。随着操作系统线程不断增加,将会有更多的上下文切换,如果线程正在工作,性能可能会受到影响。thread allocationcontext switchOSJVMvCPUsNOTIO bound