Linux/Windows在多CPU時控制CPU使用率時表現為什麼不同?

最近看了編程之美第一章講的控制CPU使用率

我這裡有2台電腦:

Windows,4核

Linux,2核,

然後我下了這麼一段程序:

public class test {

public static void main(String[] args) {

while(true){

}

}

}

分別在兩個機器上跑。

第一個結果:windows4核,CPU佔用率是25%

第二個結果:linux2核,CPU佔用率100%

我的理解是:同一時間只有一個線程運行,那麼對於4核而言佔用率是25%我可以理解,但是為什麼在linux2核上卻達到了100%,難道不該是50%嗎?

另外,我看c++由函數可以綁定進程到某個CPU,JAVA有沒有這個功能?


那啥,linux 上一個核佔滿是 100%,雙核機器佔滿整個 CPU 是 200%


推薦閱讀:

你有可能買一台 Chromebook 么?
深度學習工具caffe在windows上的性能表現真的沒有在Linux上好嗎?
從 X86 到 ARM 的移植,為什麼 Windows 的兼容性看起來沒有像Linux、OS X那樣好?
web後端攻城獅要學linux嗎,一般要學到什麼水平呢?
關於linux目錄刪除的問題?

TAG:MicrosoftWindows | 中央處理器CPU | Linux | 進程 |