请问:C整形变量赋数值、++、--等是不是原子操作?

2019-12-27 18:58发布

就是如同下面的例子:

int i;

i = 123;
i++;
i--;

诸如此类......
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
36条回答
security
1楼-- · 2019-12-30 05:40
 精彩回答 2  元偷偷看……
zhugean
2楼-- · 2019-12-30 07:47
prince2010 发表于 2017-5-23 08:35
没错

可是我是希望能用C语句来保证全局变量互斥操作

据我的了解,cm3的8、32bit变量操作就是天生就是原子的
EMC菜鸟
3楼-- · 2019-12-30 10:30
楼主这个显然主要跟芯片有关系、然后是编译器!
首先得看编译器把这个变量存哪里,然后得看芯片有没有直接指令支持对这个RAM增一或减一的操作。
canspider
4楼-- · 2019-12-30 11:15
现在的处理器还有cache,多核之类的
就算是能够用一条指令对内存进行++,--运算
也得看是不是真的“落在了”那片内存上
zstein
5楼-- · 2019-12-30 15:10
与芯片有关。也与编译器有关。与数据类型也有关。
flamma
6楼-- · 2019-12-30 18:16
 精彩回答 2  元偷偷看……

一周热门 更多>