事务机制源码解析| 锁机制(5)
5.3.5 无锁原子操作
openGauss封装了32、64、128的原子操作,主要用于取代自旋锁,实现简单变量的原子更新操作。
(1) gs_atomic_add_32:32位原子加,并且返回加之后的值。对应的代码如下:
{
return __sync_fetch_and_add(ptr, inc) + inc;
}
5.3.5 无锁原子操作
openGauss封装了32、64、128的原子操作,主要用于取代自旋锁,实现简单变量的原子更新操作。
(1) gs_atomic_add_32:32位原子加,并且返回加之后的值。对应的代码如下:
{
return __sync_fetch_and_add(ptr, inc) + inc;
}