線程的同步與互斥(死鎖的產生和避免)

    可以知道,一條語句對一個變量進行+1操作,轉成彙編指令共有三條:將這個變量從內存中取出;將其值加1;再將加後的結果放回內存;當一個進程中的兩個線程同時進行這個操作時,本來期望的是將變量進行兩次加1,但中途有可能當一個線程剛從內存中將變量取出就被切換暫停了,此時線程會保存硬件上下文,第二個線程將變量加1之後前面切出去的線程回來繼續執行,這時保存的還是變量原來的值,再將變量加1,會發現變量的最
相關文章
相關標籤/搜索