1
2
3
4
大家要知道 C语言中的 ++ 和 += 并不是原子操作,而是通过多条微程序组成的,因此 ++ 和 += 在执行过程中可能被中断的
// ++ 和 += 都不是原子操作,所有都可能被中断,结果就是 2 ~ 4 都可以
为什么这个题不考虑重排序情况呢?当线程执行顺序为n++ N=0 n++
这样最终的结果不就是1嘛
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题