2012-05-17 23 views

回答

1

這是最簡單的想象,有一個每豆java.util.concurrent.ReadWriteLock在該容器四處打電話的方法調用lock()unlock()在任一readLock()writeLock(),根據不同的配置@Lock的方法。所以,實例變量受到保護。

但是,請注意容器管理的@PersistenceContext字段不是「共享」狀態,因爲容器實際上注入了代理對象。代理EntityManager上的每個方法調用都將委託給每個事務EntityManager。由於事務不是跨線程共享的,即使Bean使用@ConcurrencyManagement(BEAN)而沒有其他同步,它也是線程安全的。