跳至內容

線程慣性

維基百科,自由的百科全書

線程慣性指在多線程編程中的一種錯誤的心理狀態,它假定當前編寫的代碼執行完畢後會繼續執行下一條代碼。而實際上,在現代處理器中,線程隨時(當該線程的時間片用完時)可能被處理器凍結,而處理器被另一線程搶占(這裡指單處理器上的情況,在多處理器上,情況更加複雜)。

因此,如果程序執行的結果依賴於這兩個(或者可能更多)線程的順序,程序就可能出錯。

因為線程執行具有不確定性,這種錯誤並不是每次都會出現,而且在某些特定的機器上可能永遠不會出現。因此,這種錯誤較難發現。