Java basit bir program oluşturduk:
public static void main(String[] args) throws InterruptedException {
while (true)
;
}
Bunu bir Linux makinesinde çalıştırırsam,% 100 CPU kullanımı gösterir, ancak işletim sisteminin yavaş görünmesine neden olmaz. Ancak, aynı kodu Windows'ta çalıştırırsam, yalnızca yaklaşık% 20 CPU kullanımı gösterir.
Windows'ta Oracle JRE ve Linux'ta OpenJDK 6 kullanıyorum.
Windows zamanlayıcı iş parçacıkları rastgele preempt olup olmadığını merak ediyorum ve Linux değil mi?
100*N cores %
mu ve tüm çekirdekler meşgul olduğunda, öyle mi?