码迷,mamicode.com
首页 > 其他好文 > 详细

Lock - 锁

时间:2020-06-09 16:17:46      阅读:56      评论:0      收藏:0      [点我收藏+]

标签:div   一个   new   syn   锁对象   概述   class   加锁   code   

一、概述

1.Lock是JDK1.5提供的一个接口;有效的降低死锁的几率,Lock相对于synchronize而言更加灵活

synchronized 问题:容易产生死锁;锁对象不容易找寻确定;不能在方法A中加锁,方法B中解锁

同步代码块问题:容易产生死锁
synchronized(){

}

同步方法问题:锁对象不容易找寻确定
class A {
  // m1方法 的锁对象是 this
  public synchronized void m1(){}
  // m2方法 的锁对象是 A.class
  pubilc synchronized void m2(){}
}

A a1 = new A();
a1.m1(); //m1方法的锁对象是 a1
A a2 = new A();
a2.m1(); //m2方法的锁对象是 a2

2.用的更多的是Lock的实现类:ReentrantLock

Lock - 锁

标签:div   一个   new   syn   锁对象   概述   class   加锁   code   

原文地址:https://www.cnblogs.com/alen-apple/p/13068601.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!