Я играю с идеей написания программного обеспечения для моделирования физики, в котором каждый физический элемент будет моделироваться в своем собственном потоке.
Было бы несколько преимуществ для этого подхода. Это было бы концептуально очень близко к тому, как работает настоящий мир. Было бы намного проще масштабировать систему на несколько машин.
Однако для этого мне нужно убедиться, что все потоки работают с одинаковой скоростью, с довольно либеральной интерпретацией "того же". Скажите в пределах 1% друг от друга.
Вот почему мне не обязательно нужно решение Thread.join(). Я не хочу, чтобы какая-то uber-управляющая школьная любовница обеспечивала постоянную синхронизацию всех потоков друг с другом. Я просто должен быть в состоянии спросить время выполнения (в зависимости от того, что это такое --- может быть Java, Erlang или что-то более подходящее для этой проблемы) для запуска потоков с более или менее равной скоростью.
Любые предложения будут чрезвычайно оценены.
ОБНОВЛЕНИЕ 2009-03-16
Я хотел поблагодарить всех, кто ответил на этот вопрос, в частности всех тех, чей ответ был по существу "НЕ ДЕЛАЙТЕ ЭТО". Теперь я понимаю, что моя проблема намного лучше благодаря всем комментариям, и я менее уверен, что должен продолжить, как я изначально планировал. Тем не менее я чувствовал, что ответ Питера был лучшим ответом на этот вопрос, поэтому я принял его.