线程的同步与互斥(死锁的产生和避免)

    可以知道,一条语句对一个变量进行+1操作,转成汇编指令共有三条:将这个变量从内存中取出;将其值加1;再将加后的结果放回内存;当一个进程中的两个线程同时进行这个操作时,本来期望的是将变量进行两次加1,但中途有可能当一个线程刚从内存中将变量取出就被切换暂停了,此时线程会保存硬件上下文,第二个线程将变量加1之后前面切出去的线程回来继续执行,这时保存的还是变量原来的值,再将变量加1,会发现变量的最
相关文章
相关标签/搜索