線程同步與互斥

多個線程同時訪問共享資源可能會衝突。比如兩個線程都要把某個全局變量加1,這個操作需要三條指令完成 1 從內存讀變量值到寄存器 2 寄存器的值加1 3 將寄存器的值寫回內存 在「讀取變量的值」和「把變量的新值保存回去「,這兩步操作之間插入printf調用,它會執行write系統調用進內核,爲內核調用別的線程 提供了一個很好的時機。在一個循環中重複上述操作幾千次,就會觀察到訪問衝突的現象 舉一個例子:
相關文章
相關標籤/搜索