Brian Goetz and David Holmes went through the new mechanisms in Java 5 for doing parallell programs. We do a lot of threading in our applications, and we definately need to look at these new mechanisms.
One concrete example is that we always add a custom field “stop” for all Runnables, while there is an existing flag “interrupted” we should use.
Another useful feature is the ability to make specific read or write locks to allow many reader but only one writer at a time on some specified data.