执行结果跟视频完全不一样

来源:2-3 应用Runnable模拟卖票

慕函数0603164

2017-09-05 21:48

窗口2卖了1张票,剩余票数为:3 窗口1卖了1张票,剩余票数为:3 窗口3卖了1张票,剩余票数为:2 窗口1卖了1张票,剩余票数为:0 窗口2卖了1张票,剩余票数为:1 为什么我的执行结果是这样呢,这个跟物理设备的CUP处理器有吗?

写回答 关注

3回答

  • 我爱豆花汤
    2017-09-08 12:53:37
    已采纳

    是因为线程的执行顺序啊,每次执行都不一定是一样的。至于剩余票的问题,老师有回答啊~o(^_^)o

    慕函数060...

    非常感谢!

    2017-12-24 22:01:07

    共 1 条回复 >

  • qq_往烟_0
    2017-12-03 16:09:27

    可以将count++的操作更换为原子类操作,因为++是线程不安全的

  • 慕婉清8345490
    2017-09-15 23:54:44

    那个代码是有问题,需要看完,最后老师不是说了么,需要加synchronized 保证变量的原子性。

细说多线程之Thread VS Runnable

认识Thread和Runnable的区别,以及使用jstack生成线程快照

55327 学习 · 68 问题

查看课程

相似问题