qq_LZ毛荣荣_0
2017-12-25 16:56
为什么窗口卖出同一张票,难道票也是随机的,我想每个窗口卖出不同的票,求大神老师指点!
关键是ticketscount--这个操作不是原子的,你在public void run(){
synchronized(this)
{
while()
{
代码逻辑
}
}
}一切就ok了
窗口1卖了一张票,打印剩余票数为2(输出结果第三行). 然后CPU资源被窗口2占用,执行了卖票操作,但是还没有执行打印输出操作。然后窗口1获取CPU资源执行操作继续卖票,打印(输出第四行)。窗口1操作完毕,然后窗口2获取CPU资源执行最后的输出打印操作(第五行)。
细说多线程之Thread VS Runnable
55316 学习 · 71 问题
相似问题