【发布时间】:2014-03-27 18:35:26
【问题描述】:
让我们想象一个简单的 Java 程序,其中有 5 个 2D 弹珠以固定的顺序绕着一个圆圈移动。您可以控制每个弹子的速度,记住较慢的弹子会阻止弹子移动得更快(它们无法超车)。他们都在一个方向上绕一圈。对此进行编程的最佳方法是什么?这个想法是为每个弹珠分配一个单独的线程,这实际上是要求之一。 然后我创建了五个线程,在所有线程共有的某个对象上同步“move”方法。下一步是检查我是否可以向前移动弹珠,如果有一些可用空间。所以在我搬家之前,我会检查是否有空闲空间,然后采取行动。在这里使用 wait() 和 notify() 机制是否有必要或至少是一个好主意? 感谢您的帮助。
【问题讨论】:
-
也许您可以自己尝试一下,然后在您遇到无法解决的特定错误时返回这里提供一些实际代码。
-
您会等待并通知什么?
标签: java concurrency