Ingsuifon 2020-02-10 20:43 采纳率: 0%
浏览 362

volatile真的能避免DCL单例模式中的指令重排吗

volatile能够使得线程读取共享变量时从主内存中读取,保证了读取的数据一定是最新的,所以在线程A构建instance对象的时候,**即使发生了指令重排**使得线程B得到了一个未经初始化的变量,由于volatile的作用,线程B还是得重新从主内存中获取最新的数据。

  • 写回答

1条回答 默认 最新

  • dabocaiqq 2020-02-10 22:24
    关注
    评论

报告相同问题?