Steve has written a nice article on how you can coordinate threads in a distributed application, transparently, and with very little effort.
He does this simply by sharing an instance of a CyclicBarrier, a class in Doug Lea's excellent util.concurrent package(now included in JDK 5.0), across a cluster Using Distributed Shared Objects (DSO).
It really shows the power of DSO in action, by solving an extremely tricky problem in almost no time and no code.