refbase_atomic_dec是什么
时间: 2023-10-09 14:06:14 浏览: 84
sp的构造-Android Framework简介 ppt
`refbase_atomic_dec`是一个原子操作,用于对一个整数进行原子减1操作。它定义在`<utils/Atomic.h>`头文件中,源码如下:
```
inline int32_t refbase_atomic_dec(volatile int32_t* addr)
{
return __sync_fetch_and_sub(addr, 1) - 1;
}
```
这里使用了GCC内置函数`__sync_fetch_and_sub`实现了原子减1操作,并返回减1之前的值。`volatile`关键字确保了操作的可见性,避免了编译器对变量的优化。
在RefBase中,`refbase_atomic_dec`被用于对对象的引用计数进行原子减1操作,当引用计数减为0时,对象就会被自动释放。
阅读全文