宋宝华:关于ARM Linux原子操作的实现

竞态无所不在 首先我们要理解竞态(race condition)无所不在,哪怕是对一个全局变量做++的加1动作。 a=0 a++; a++这句话,会被翻译为多条指令: ldr     r3, [r3, #0]  adds    r2, r3, #1 str     r2, [r3, #0]  它会先读(ldr),再修改(add),再写(str),是一个典型的读-修改-写(RMW)序列。a++在硬件
相关文章
相关标签/搜索