Java Thread How to - Safely acquire write lock from ReentrantReadWriteLock








Question

We would like to know how to safely acquire write lock from ReentrantReadWriteLock.

Answer

import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
// w ww.java  2s.  c o m
public class Main {

  public static void main(String[] args) {
    System.out.println("read to write test");
    ReadWriteLock lock = new ReentrantReadWriteLock();

    lock.readLock().lock(); // get our own read lock
    lock.writeLock().lock(); // upgrade to write lock
    System.out.println("passed");
  }

}

The code above generates the following result.