當調度線程執行時,是否有任何關於公平JVM的假設?調度線程時JVM的公平性
對於下面的代碼片段,是否有可能只執行「代碼A」,而忽略B?
public static void main(String args[]) {
new Thread() {
public void run() {
for (;;) { /* code A */ }
}
}.start();
new Thread() {
public void run() {
for (;;) { /* code B */ }
}
}.start();
}
的問題是,更高的理論之一 - 假設是,無論是線程被阻塞或以其他方式鼓勵調度切換上下文。
您的操作系統最有可能支持搶先式多任務處理,在這種情況下,它會切換這些線程。如果你有多個可用的CPU,它們都會運行大部分時間。 –
好點重新CPU號碼。正在考慮只有一個CPU場景。 –
現在大多數電腦都有很多CPU,甚至手機和樹莓派。 ;) –