为了账号安全,请及时绑定邮箱和手机立即绑定

票数不对,为什么呢?

出现这种情况是怎么回事?

窗口1卖了一张票,剩余票数为:3

窗口3卖了一张票,剩余票数为:2

窗口2卖了一张票,剩余票数为:3

窗口3卖了一张票,剩余票数为:0


正在回答

2 回答

可能是因为并非窗口1首先获得CPU时间片,而是其他线程。

首先是窗口2 ,执行到count--之后,sysout时就被阻塞了。注意此时count=4。

然后是窗口1 ,执行了整个run方法 ,此时count=3。

然后是窗口3 ,执行了整个run方法 ,此时count=2。

此时窗口2恢复,继count--之后执行,输出count=3。

然后是窗口3 ,执行了整个run方法 ,此时count=0。

当然这种并不一定是这样,因为现在的多核CPU线程是可以同时执行的。
0 回复 有任何疑惑可以回复我~
#1

微微shirly 提问者

嗯嗯,谢谢~ 后来多运行几次就好了
2016-03-14 回复 有任何疑惑可以回复我~

正解,我的也出现这种

窗口2卖了1张票,剩余票数为:3

窗口1卖了1张票,剩余票数为:3

窗口3卖了1张票,剩余票数为:2

窗口1卖了1张票,剩余票数为:0

窗口2卖了1张票,剩余票数为:1


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

票数不对,为什么呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信