哪里有问题呢(生产消费凌乱的)?学得有点迷糊了,求解决

问题:生产消费出现的顺序凌乱的,输出结果如图:

代码如下:




下面是一个类里面的


回答

消费与生产,(1)它可以做到生产一个消费一个,按顺序进行。(2)也可以不论顺序,有就消费。

1、2点暂且不论,我想你的问题,应该是为什么消费者是从 9 先打印,然后到10.而不是从10开始打印,然后再打印 9。消费者之所以先打印9,再打印10。因为你的代码写得太乱了!!看得头疼!!System.out.println(“消费了第:” + pop().id + "鸡") ,这句话,可以被拆成2部分执行。第一部分 pop().id,第二部分才是打印。看到这里,你就应该要明白了。第一条线程:第一部分执行完毕,第二部分挂起;第二条线程开始执行,2部分皆执行完毕;第一条线程的第二部分才开始执行。所以会出现以上效果。

以上是 哪里有问题呢(生产消费凌乱的)?学得有点迷糊了,求解决 的全部内容, 来源链接: utcz.com/a/27452.html

回到顶部