谁知道全局原子变量这个概念啊,有什么用
全局原子变量,是API中的定义,谁知道是怎么用的啊,怎么定义
怎么调用
------解决方案--------------------
得说汇编了,
以 a += 1;为例
汇编代码就是
把a的值放入 寄存器,(1)
inc 指令调用。(2)
然后把寄存器的值 放回 内存(也就是变量,3)
至少是这三步,在多线程的情况下,这样的操作,可能被其他线程的指令穿插其中,
那么最后的结果就很有可能是不正确的。
那么保证其逻辑结果正确的办法就是让上面3个指令 作为 一个 “原子操作”执行,不会被插入其他的指令。
这样就线程安全了。,