为什么运行成这样,就不向下运行了
mian 方法启动使用的是同一个move对象. 及两个线程使用的是同一个锁。
每次只会有一个线程在执行方法.
所以按照截图代码应该不会存在楼主描述的问题才对。。
谢谢,知道了
多个线程存在竞态条件下,当第一个线程运行了"生产者",随后你用flag来标识,但是并不是按照你想的那种顺序来去消费的,造成flag=false,进不去"消费者",然而下一个循环运行时发现flag=false,就会调用.wait()方法,在当前调用中是不会主动再去调.notify()方法的,导致你这"生产者"也只能调用一次后面就继续等待了,这样就产生这出现一个"生产了"的结果...
在这个地方一直在等待中,没有被其它线程启动
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(5)
mian 方法启动使用的是同一个move对象. 及两个线程使用的是同一个锁。
每次只会有一个线程在执行方法.
所以按照截图代码应该不会存在楼主描述的问题才对。。
谢谢,知道了
多个线程存在竞态条件下,当第一个线程运行了"生产者",随后你用flag来标识,但是并不是按照你想的那种顺序来去消费的,造成flag=false,进不去"消费者",然而下一个循环运行时发现flag=false,就会调用.wait()方法,在当前调用中是不会主动再去调.notify()方法的,导致你这"生产者"也只能调用一次后面就继续等待了,这样就产生这出现一个"生产了"的结果...
谢谢,知道了
在这个地方一直在等待中,没有被其它线程启动