Java itself is already multithreaded. Even if you does nothing with threads, the JVM (and the OS) will handle it for you
Threads and synchronization are generally useful to keep the transferred data secure and persistent. For example, when you're about to update or delete a database row, you'd better to put the logic in a synchronized method. Especially if it is a heavy loaded business application.
Browse the JavaDoc for java.util.concurrent.* packages. There are some other neat new goodies there. They don't do much you couldn't do yourself the hard way, but they are better than anything I'd do for sure.
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
Could you hold this kitten for a sec? I need to adjust this tiny ad:
Gift giving made easy with the permaculture playing cards