linux 为什么要使用原子操作
答案:1 悬赏:0 手机版
解决时间 2021-04-06 14:52
- 提问者网友:未信
- 2021-04-05 18:48
linux 为什么要使用原子操作
最佳答案
- 五星知识达人网友:西岸风
- 2021-04-05 20:18
有些操作必须要具有原子性,否则会出现问题.
就拿一个变量自增来说,比如
i++,一般经历了3步
1. 从内存到寄存器
2. 寄存器的值+1
3. 从寄存器到内存
,如果有这样一个语句:
int i=0;
i++;
i++;如果不能保证原子性,在多核的系统中,这两个i++可能同时运行,这样就可能造成这个语句的结果最后,i等于1.
在操作系统里面,必须要保证一些操作一次性完成,不被打断
就拿一个变量自增来说,比如
i++,一般经历了3步
1. 从内存到寄存器
2. 寄存器的值+1
3. 从寄存器到内存
,如果有这样一个语句:
int i=0;
i++;
i++;如果不能保证原子性,在多核的系统中,这两个i++可能同时运行,这样就可能造成这个语句的结果最后,i等于1.
在操作系统里面,必须要保证一些操作一次性完成,不被打断
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯