The JTA allows implementations that don't support multiple threads in the same transaction or those that do. There are a lot of issues with the latter approach, such as checked transaction semantics, that simply don't exist in a uni-thread model.
The only way in the JTA itself to *try* to associate multiple threads with the same transaction would be to call getTransaction on the thread that currently has the transaction association, and then try a resume with the returned Transaction in the scope of the thread that doesn't have the association. I'm pretty sure JBoss TM supports this, but there are some implementations that don't (e.g., JOTM). So beware :-)