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