Java线程同步机制的功能与开销

from:《Java多线程编程实战指南(核心篇)》

特点 volatile CAS final static
原子性保障 具备 具备2 具备 不涉及 不涉及
可见性保障 具备 具备 不具备 不具备 具备3
有序性保障 具备 具备 不涉及 具备 具备4
上下文切换 可能 不会 不会 不会 可能5
备注 1、被争用的锁可能导致上下文切换 2、仅能够保障对volatile变量读/写操作本身的原子性 34、仅在一个线程初始读取一个类的静态变量是起作用
5、静态变量所属类的初始化可能导致上下文切换

你可能感兴趣的:(Java线程同步机制的功能与开销)