关注
是要考虑并发的情况吧,结果是4当且仅当所有语句顺序执行的时候
结果是6也容易理解:
(1)线程1执行完*x += *x,*x现在变为2
(2)线程1被打断,线程2进入,执行完*x += *x,*x现在变为4
(3)线程2被打断,线程1执行完*y += *x,*z += *y,即得到*z = 6了
注意到右结合操作符+=并非原子操作,结果为5也是可能的:
(1)线程1执行*x += *x,先取右操作数*x,值为1,当取左操作数时被打断,线程2进入
(2)线程2执行完*x += *x,由于此时*x仍然为1,所以得到*x = 2,此时线程2也被打断,线程1继续执行
(3)线程1的+=操作取左操作数*x,值已经是2了,从而写回*x后,*x变为3,接着线程1执行完第二条和第三条语句,就得到*z =
5了
实际上,返回值等于7也是可能的:
(1)线程1执行*x += *x,取右操作数*x,值为1,然后被打断,线程2进入
(2)线程2执行*x += *x,取右操作数*x,值为1,然后被打断,线程1继续
(3)线程1执行完*x += *x,取左操作数*x,值为1,加上1写回*x,*x变为2,然后被打断,线程3进入
(4)线程3执行完*x += *x,此时*x变为4,然后被打断,线程2继续
(5)线程2取左操作数*x,值为4,加上1写回*x,*x变为5,然后被打断,线程1继续
(6)线程1执行完*y += *x,*y变为6,执行完*z += *y,*z变为7
查看原帖
点赞 1
相关推荐
牛客热帖
更多
正在热议
更多
# 你觉得面试是靠实力还是靠运气 #
26965次浏览 290人参与
# 哪些公司在招寒假实习? #
20038次浏览 259人参与
# MiniMax求职进展汇总 #
941次浏览 23人参与
# 秋招遇到的奇葩面试题 #
103084次浏览 421人参与
# 卷__卷不过你们,只能卷__了 #
14045次浏览 313人参与
# 互联网行业现在还值得去吗 #
49344次浏览 362人参与
# 26年哪些行业会变好/更差 #
21370次浏览 311人参与
# 写论文的崩溃时刻 #
7727次浏览 168人参与
# 秋招暂停,我将对以下公司做出处罚__ #
50207次浏览 200人参与
# 去年的flag与今年的小目标 #
11455次浏览 223人参与
# 通信硬件公司爆料 #
186690次浏览 548人参与
# 你不能接受的企业文化有哪些 #
14299次浏览 193人参与
# 有深度的简历长什么样? #
18269次浏览 368人参与
# 你都用AI做什么 #
7895次浏览 180人参与
# 入职第一天 #
11515次浏览 247人参与
# 关于春招你都做了哪些准备? #
122366次浏览 709人参与
# 国企vs私企,你更想去? #
306354次浏览 2494人参与
# 硬件/芯片公司工作体验 #
142011次浏览 940人参与
# 找工作中的小确幸 #
75656次浏览 439人参与
# 大家实习都在做什么? #
16728次浏览 224人参与
# 招聘要求与实际实习内容不符怎么办 #
149375次浏览 887人参与
查看15道真题和解析