https://www.bilibili.com/video/BV1Aj411r7Zi

Untitled

synchronize 是 Java 提供的一种原子性内置锁。Java 中的每个对象都可以把它当做一个同步锁来使用,这些 Java 内置的使用者看不到的锁被称为内置锁,也叫做隐式锁。synchronized 所条件的锁有以下几个特点:

Untitled

分类 具体分类 被锁的对象 伪代码
方法 实例方法 类的实例对象 public synchronized void method() {…….}
静态方法 类对象 public static synchronized void method {……}
代码块 this对象 类的实例对象 synchronized(this) {……}
class 对象 类对象 synchronized(DemoClass.class) {……}
任意实例对象 Object 实例对象 Object private final Object lock = new Object();

Untitled