采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
我看网上说i++有说只有2步的use,assign
有些说有三步load,use,assign
同学好,会经历
(1) 从主存复制变量到当前工作内存 (2) 执行代码,改变共享变量值 (3) 用工作内存数据刷新主存相关内容
这三步
懂了确实是三步。但是这3步什么时候会出现多线程并发访问下保证不了原子性的操作呢。
因为有可能存在线程A和线程B同时拿到值为1的i,然后调用++ 都变成了2,随后写回主存均为2的情况,其实按理来说是加了两次,应该是3才对
登录后可查看更多问答,登录/注册
招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航
1.8k 27
2.7k 22
1.2k 15
1.4k 14
1.3k 14