永发信息网

请教linux下如何实现原子自增操作

答案:1  悬赏:0  手机版
解决时间 2021-11-28 17:40
请教linux下如何实现原子自增操作
最佳答案
Linux的源码中x86体系结构原子操作的定义文件为。
linux2.6/include/asm-i386/atomic.h
文件内定义了原子类型atomic_t,其仅有一个字段counter,用于保存32位的数据。
typedef struct { volatile int counter; } atomic_t;
其中原子操作函数atomic_inc完成自加原子操作。

static __inline__ void atomic_inc(atomic_t *v)
{
__asm__ __volatile__(
LOCK "incl %0"
:"=m" (v->counter)
:"m" (v->counter));
}
其中LOCK宏的定义为。
#ifdef CONFIG_SMP
#define LOCK "lock ; "
#else
#define LOCK ""
#endif
可见,在对称多处理器架构的情况下,LOCK被解释为指令前缀lock。而对于单处理器架构,LOCK不包含任何内容。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
机战抽核心高几率!!
单选题对《幽径悲剧》文末的“但是,我愿意把
中国重汽豪沃国四车油门加不起来,熄火后重启
应届金融专业本科毕业生,在东风日产汽车金融
一个人走,一个人睡,一个人思索,一个人沉醉
女孩取名字姓武后面想用果中间该怎么取
铤而走险的意思是什么?
究竟非同沙发怎么样 怎么保养沙发
下列关于新生命诞生过程的说法中,正确的是A.
0.93X99X0.93的简便计算
豆腐脑可以加淀粉吗
豫d777f7值多少钱
顺德哪里可以学佛?最好在杏坛,容桂,大良等
本人女生 身高166 ,体重67公斤 ,之前四个月
从康德坐几路公交到世纪大街中信银行
推荐资讯
一个三位数,十位上的数字是a,百位上的数字
现在大唐再生资源好吗,我想去工作不知道怎么
有朋友知道有量是个怎么样的平台吗,快来说说
摩托锯(汽油锯)哪种好?
有没有10×20的不锈钢
红外补光灯和LED补光灯哪个好?
也不上厕所,怎么回事
为什么惠普电脑C盘都很大
单选题有机物大多易挥发,因此许多有机物保存
从韶关大道南郊三公里怡园新邨坐公交车怎么走
求个lol id是关于梦想的那种id不要复制谢谢
回忆不是我要的结果是那首歌歌词
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?