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

发布于 2021-11-28 11:36:05 字数 283 浏览 904 评论 5


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


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

夜血缘 2021-12-03 03:49:12

mian 方法启动使用的是同一个move对象. 及两个线程使用的是同一个锁。

每次只会有一个线程在执行方法. 

所以按照截图代码应该不会存在楼主描述的问题才对。。

累赘 2021-12-02 16:22:29

谢谢,知道了

晚风撩人 2021-11-30 21:59:25

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

疑心病 2021-11-28 23:24:17

谢谢,知道了

怎言笑 2021-11-28 14:33:40

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文