Nie ma potrzeby synchronizowania czegokolwiek,
entityManager nie jest threadSafe i jest przeznaczony do tworzenia instancji dla każdej jednostki pracy i niszczenia zaraz po.
Wręcz przeciwnie, fabryka jest kosztowna i powinna być ponownie wykorzystana
Zobacz http://docs.oracle.com/javaee/6/ tutorial/doc/bnbqw.html „Menedżerowie jednostek zarządzanych przez aplikację” i https://stackoverflow.com/a/22773758/2087640