我正在考虑编写一个物理模拟软件,其中每个物理元素都将在其自己的线程中进行模拟。
这种方法有几个优点。它在概念上将非常接近现实世界的运作方式。将系统扩展到多台机器会容易得多。
但是,要使其正常工作,我需要确保所有线程都以相同的速度运行,并对“相同”进行相当自由的解释。说在彼此的 1% 以内。
这就是为什么我不一定需要类似 Thread.join() 的解决方案。我不想要一些超级控制的学校情妇来确保所有线程定期相互同步。我只需要能够要求运行时(无论它是什么——可能是 Java、Erlang 或最适合这个问题的任何东西)以或多或少相等的速度运行线程。
任何建议将不胜感激。
更新 2009-03-16
我要感谢所有回答这个问题的人,特别是那些回答基本上是“不要这样做”的人。由于大家的评论,我现在更好地理解了我的问题,我不太确定我应该按照最初的计划继续。尽管如此,我觉得彼得的回答是对问题本身的最佳回答,这就是我接受它的原因。