線程互斥(互斥量)及死鎖形成

    多個線程同時訪問共享數據時可能會發生衝突,如兩個線程都要把某個全局變量增加1,這個操作在平臺上需三條指令完成:   (1)從內存中讀變量值到寄存器中;   (2)寄存器的值加1;   (3)將寄存器的值寫回內存;    假設線程1執行了(1)、(2),正要執行(3)時,被強制切換出去,線程1保存自己的上下文信息;線程2被切換進來,執行了(1)、(2)、(3),則變量值發生改變,被寫回內存,
相關文章
相關標籤/搜索