线程问题,为什么没有运行下去,锁的问题???

https://img2.mukewang.com/5b4b1597000115c707780427.jpg

为什么运行成这样,就不向下运行了

https://img4.mukewang.com/5b4b15a20001443407730098.jpg

翻翻过去那场雪
浏览 667回答 3
3回答

慕容森

在这个地方一直在等待中,没有被其它线程启动

MM们

多个线程存在竞态条件下,当第一个线程运行了"生产者",随后你用flag来标识,但是并不是按照你想的那种顺序来去消费的,造成flag=false,进不去"消费者",然而下一个循环运行时发现flag=false,就会调用.wait()方法,在当前调用中是不会主动再去调.notify()方法的,导致你这"生产者"也只能调用一次后面就继续等待了,这样就产生这出现一个"生产了"的结果...

慕森王

mian 方法启动使用的是同一个move对象. 及两个线程使用的是同一个锁。每次只会有一个线程在执行方法. 所以按照截图代码应该不会存在楼主描述的问题才对。。
打开App,查看更多内容
随时随地看视频慕课网APP