Java 并发关键字

Java 并发关键字


2024年4月20日发(作者:)

并发关键字

关键字一:volatile

可以这样说,volatile 关键字是 Java 虚拟机提供的轻量级的同步机制。

功能

volatile 有 2 个主要功能:

• 可见性。一个线程对共享变量的修改,其他线程能够立即得知这个修改。普通变量

不能做到这一点,普通变量的值在线程间传递需要通过主内存来完成。

• 禁止指令重排序。

底层原理

加入 volatile 关键字时,会多出 lock 前缀指令, 该 lock 前缀指令相当于内存屏障,

内存屏障会提供 3 个功能:

• 在执行到内存屏障这句指令时,在其前面的操作都已完成了

• 强制将处理器行的数据缓存写回内存

• 一个处理器的缓存回写到内存会导致其他工作内存中的缓存失效

应用场景

• 状态标记

volatile + boolean

• DCL 单例模式 (Double Check Lock,双重校验锁)

public class Singleton {

private volatile static Singleton singleton=null;

private Singleton(){}

public static Singleton getSingleton(){

if(singleton==null){

synchronized (){

if(singleton==null){


发布者:admin,转转请注明出处:http://www.yc00.com/web/1713544830a2270144.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信