SORU
29 Ocak 2013, Salı


Neden “while(true)” “Parçacığı.olmadan mı uyku” neden 100% ama Windows değil Linux CPU kullanımı?

Java'da basit bir program oluşturduk:

public static void main(String[] args) throws InterruptedException {
    while (true) 
        ;
}

Ben bir Linux makinede bu çalışma, 0 CPU kullanımı gösterir, ama yavaş görünmesini OS neden olmaz. Eğer Windows üzerinde aynı kodu çalıştırmak ancak, bunun sadece CPU kullanımı hakkında gösterir.

Linux üzerinde Windows ve OpenJDK 6 Oracle TOTEM kullanıyorum.

Windows' kararı parçacıkları rastgele zamanlayıcı ve Linux değil mi? merak ediyorum

CEVAP
29 Ocak 2013, Salı


Windows Görev Yöneticisi yok iken sözde modu IRİX, top Linux varsayılan olarak çalışır. Hadi 4 çekirdek var ki:

  • 1 IRİX modu ile tam olarak kullanılan çekirdek 0'dür ve 4 çekirdekli 400%.

  • , 1 kapalı IRİX modu ile tam olarak kullanılan çekirdek % oranında ve 4 çekirdek 100%.

Bu, top Linux varsayılan olarak ~100% olarak sonsuz bir döngü gösterir ve Windows ~25%, ve tam olarak aynı anlama geliyor gibi gösterilir.

top ile çalışırken, IRİX moduna geçiş yapabilirsinizShiftben. Bu numaraları maç yapacak.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • KoreanFrogMania님의 채널

    KoreanFrogMa

    18 Aralık 2011
  • metallmanutza13

    metallmanutz

    13 NİSAN 2007
  • The White House

    The White Ho

    21 Ocak 2006