DragonOS实现了原子变量,类型为atomic_t. 原子变量是基于具体体系结构的原子操作指令实现的。具体实现在kernel/process/atomic.h
中。
请注意,以下API均为原子操作。
原子变量增加指定值
ato
原子变量对象
val
变量要增加的值
原子变量减去指定值
ato
原子变量对象
val
变量要被减去的值
原子变量自增1
ato
原子变量对象
原子变量自减1
ato
原子变量对象
将原子变量的值与mask变量进行or运算
ato
原子变量对象
mask
与原子变量进行or运算的变量
将原子变量的值与mask变量进行and运算
ato
原子变量对象
mask
与原子变量进行and运算的变量