Spring框架工作单例bean并发管理

时间:2016-10-31 14:46:55

标签: java spring concurrency

在java ee @Singleton中是否有@Lock(READ)和@Lock(WRITE)的并发管理机制,如果没有,我怎样才能使用java se并发功能实现它。

1 个答案:

答案 0 :(得分:0)

  

java ee @Singleton中是否存在@Lock(READ)和@Lock(WRITE)的并发管理机制?

我不确定你的意思。 @Lock(READ)@Lock(WRITE) 一种Java EE并发机制,可供@Singleton

使用
  

如果没有,我怎样才能使用java se并发功能来实现它。

您可以使用java.util.concurrent.locks.ReadWriteLock这是Java SE功能之一。

例如:

final ReadWriteLock lock = new ReentrantReadWriteLock();

// equivalent to using @Lock(LockType.READ)
public void readData() {
  lock.readLock().lock();
  try {
    // read some data
  } finally {
    lock.readLock().unlock();
} 

// equivalent to using @Lock(LockType.WRITE)
public void writeData() {
  lock.writeLock().lock();
  try {
    // write some data
  } finally {
    lock.writeLock().unlock();
}