Lock 锁获取和释放

不要将锁获取放在 try 块中,因为如果在获取锁(自定义锁的实现)时发生异常,异常抛出的同时,也会导致锁无故释放。

  1. Lock lock = new ReentrantLock();
  2. lock.lock();
  3. try {
  4. } finally {
  5. lock.unlock();
  6. }