Synchronized关键字分析

  1. 是关键字
  2. 是同步锁
  3. 不能被继承,子类中必须显式地加上 synchronized 关键字
修饰 锁类型 称为 作用范围 作用对象
代码块 对象锁 同步语句块 大括号{} 括起来的代码 调用这个代码块的对象
方法 对象锁 同步方法 整个方法 调用这个方法的对象
静态方法 全局锁 同步静态方法 整个静态方法 这个类的所有对象
全局锁 同步语句块 大括号{} 括起来的代码 这个类的所有对象

代码块/方法/静态方法

def m() = synchronized {

}

def m() = {
// code...
synchronized {

}
// code...
}

classOf[ThreadDemo1].synchronized {

}

   转载规则


《Synchronized关键字分析》 Harbor Zeng 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
JVM类加载机制知识点 JVM类加载机制知识点
Java运行时一个类是什么时候被加载的? 一个类在什么时候开始被加载,《Java虚拟机规范》中并没有进行强制约束,交给了虚拟机自己去自由实现,HotSpot虚拟机是按需加载,在需要用到该类的时候加载这个类。 使用 -XX:+TraceClassLoading 开启追踪类加载的细节。 JVM一个类的加载过程? 一个类从加载到jvm内存,到从jvm内存卸载,它的整个生命周期会经历7个阶段: 加
2021-11-13
下一篇 
用户线程和守护线程 用户线程和守护线程
进程与线程 进程(Process)是系统进行资源分配和调度的基本单位,是线程的容器。 线程(thread) 是操作系统能够进行运算调度的最小单位,被包含在进程之中。一条线程指的是进程中一个单一顺序的控制流, 一个进程中可以并发多个线程,每条线程并行执行不同的任务。 线程状态枚举 NEW RUNNABLE BLOCKED WAITING TIMED_WATING TERMINATED wait
2021-11-08
  目录