Lock锁

Posted bbbbbbbb1og

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lock锁相关的知识,希望对你有一定的参考价值。

Lock

(interface)
(jdk1.5特性)
? 常用方法
void lock(): 获取锁。
void unlock(): 释放锁。
? ReentrantLock extends Lock
我们一般用 lock 的实现类( ReentrantLock 类)构建对象
? 示例代码
@Override
public void run() {
  while (true) {
    try {// 加锁
      lock.lock();//紫色部分为需要同步的代码
      if (tickets > 0) {
        try { 
          Thread.sleep(100);
        } catch (InterruptedException e) {
          e.printStackTrace();
        }
        System.out.println(Thread.currentThread().getName()
            + "正在出售第" + (tickets--) + "张票");}
    } finally {
      // 释放锁
      lock.unlock();
    }

  }

}

























以上是关于Lock锁的主要内容,如果未能解决你的问题,请参考以下文章

锁 Lock

多线程18:Lock锁

锁 Lock重入锁写入锁

并发-显示锁Lock和独占锁AQS(AbstractQueuedSynchronizer)

Mysql 死锁过程及案例详解之记录锁与间隔锁Record Lock Gap Lock

使用Lock锁实现线程同步