Sometimes, you want to start the job in multiple JVMs only when all the VM has started. This scenario often comes up with multiplayer games. Let's take a pod racing game for example. The players need to start at the same time and each game server handles 1 player (for simplicity's sake)
Here the whole blog of how to do it http://unserializableone.blogspot.com/2008/02/pod-racing-how-to-synchronize-threads.html
You can download the source from the attachment. Run "mvn tc:run" to start.