In a J2EE world you should not be creating threads. The server will create threads and maintain pools on your be half though you can configure these pools.
Most (note most not all) app server code should look single threaded to the untrained eye and not worry about synchronisation (exceptions exist), the container will manage your use of threads / synchronisation that's not to say that code doesn't exist its just its part of the container unless you are doing something advanced.
If you do require a job to run in another thread you should be requesting this via a work manager ie not creating thread pools, threads by hand as it defeats your containers ability to share / maintain resources.
hope that helps
"Eagles may soar but weasels don't get sucked into jet engines" SCJP 1.6, SCWCD 1.4, SCJD 1.5,SCBCD 5
A "dutch baby" is not a baby. But this tiny ad is baby sized: