【问题标题】:Java, EJB, Lock - synchronization for private fields?Java,EJB,Lock - 私有字段的同步?
【发布时间】:2012-05-17 11:37:15
【问题描述】:

我有一个后续问题: EJB 3.1 container managed concurrency vs. synchronized

锁是仅防止对持久上下文中的数据的并发访问等,还是还为私有字段提供同步?

【问题讨论】:

    标签: synchronization locking ejb-3.1


    【解决方案1】:

    最容易想象有一个每个 bean java.util.concurrent.ReadWriteLock,容器在 lock()unlock() 周围调用 readLock()writeLock() 上的方法调用,具体取决于配置的 @ 987654326@ 方法。因此,实例变量受到保护。

    但是,请注意容器管理的 @PersistenceContext 字段不是“共享”状态,因为容器实际上注入了一个代理对象。该代理EntityManager 上的每个方法调用都将委托给每个事务EntityManager。由于事务不是跨线程共享的,因此即使 bean 使用 @ConcurrencyManagement(BEAN) 而没有其他同步,它也是线程安全的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-12
      • 1970-01-01
      • 2012-09-09
      • 2013-01-09
      • 2014-04-29
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多