事务机制源码解析| 锁机制(5)

5.3.5 无锁原子操作

openGauss封装了32、64、128的原子操作,主要用于取代自旋锁,实现简单变量的原子更新操作。
(1) gs_atomic_add_32:32位原子加,并且返回加之后的值。对应的代码如下:

{ return __sync_fetch_and_add(ptr, inc) + inc; }