EntityManager 複数のスレッドで使用するためのものではありません。 EntityManagerの個別のインスタンスを取得する必要があります スレッドごとに。
実際、EJBまたはSpringを使用する場合は、トランザクションスコープのEntityManagerを使用できます。 、複数のスレッドから使用できます(これは、実際の作業をEntityManagerのスレッドにバインドされたインスタンスを分離するように委任するプロキシです。 )、しかしそれはあなたの場合ではないと思います。