为什么票也是随机出现相同的!

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

qq_LZ毛荣荣_0

2017-12-25 16:56

为什么窗口卖出同一张票,难道票也是随机的,我想每个窗口卖出不同的票,求大神老师指点!

http://img1.mukewang.com/5a40bcd90001739502780099.jpg

写回答 关注

2回答

  • 慕运维1056738
    2018-01-28 16:17:39

    关键是ticketscount--这个操作不是原子的,你在public void run(){

        synchronized(this)

        while()

            代码逻辑


    }一切就ok了

  • 点点丶丶滴滴
    2017-12-28 16:27:46

    窗口1卖了一张票,打印剩余票数为2(输出结果第三行).  然后CPU资源被窗口2占用,执行了卖票操作,但是还没有执行打印输出操作。然后窗口1获取CPU资源执行操作继续卖票,打印(输出第四行)。窗口1操作完毕,然后窗口2获取CPU资源执行最后的输出打印操作(第五行)。

细说多线程之Thread VS Runnable

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

55316 学习 · 71 问题

查看课程

相似问题