线程互斥(互斥量)及死锁形成

    多个线程同时访问共享数据时可能会发生冲突,如两个线程都要把某个全局变量增加1,这个操作在平台上需三条指令完成:   (1)从内存中读变量值到寄存器中;   (2)寄存器的值加1;   (3)将寄存器的值写回内存;    假设线程1执行了(1)、(2),正要执行(3)时,被强制切换出去,线程1保存自己的上下文信息;线程2被切换进来,执行了(1)、(2)、(3),则变量值发生改变,被写回内存,
相关文章
相关标签/搜索