線程慣性

線程慣性指在多線程編程中的一種錯誤的心理狀態 ， 它假定當前編寫的代碼執行完畢後會繼續執行下一條代碼 。 而實際上 ， 在現代處理器中 ， 線程隨時 （ 當該線程的時間片用完時 ） 可能被處理器凍結 ， 而處理器被另一線程搶佔 （ 這裏指單處理器上的情況 ， 在多處理器上 ， 情況更加複雜 ） 。 因此 ， 如果程序執行的結果依賴於這兩個 （ 或者可能更多 ） 線程的順序 ， 程序就可能出錯 。 因爲線程執行具有不確定性 ， 這種錯誤並不是每次都會出現 ， 而且在某些特定的機器上可能永遠不會出現 。 因此 ， 這種錯誤較難發現 。 Category: 執行緒