zoukankan      html  css  js  c++  java
  • volatile是怎么实现的?

    首先得稍微了解一下JMM(java内存模型)的相关基础知识,java中的线程在计算机使用的是内存共享的机制,所以使用volatile关键字可以理解为:

    (1)答案一:当被volatile关键字修饰的资源有变化的时候,计算机会把CPU中的缓存资源重新刷新一遍,达到变量可见性一致的效果。

    (2)答案二:当前计算机基本为多核多线程,在CPU中有一个缓存一致性的协议,由于这个协议使得CPU缓存资源刷新,最终达到变量可见性一致的效果。

    volatile和synchronized的区别:

      (1)synchronized即保证了原子性,也保证了变量可见性;

      (2)volatile只保证了变量可见性;

    当你发现自己的才华撑不起野心时,就请安静下来学习吧
  • 相关阅读:
    SAS学习 day10
    SAS学习 day9
    SAS学习 day8
    Python解释器 发展史
    os. 模块
    字典
    类型1
    计算机编码
    EDA 会议整理
    2020-8-27
  • 原文地址:https://www.cnblogs.com/smallVampire/p/12118235.html
Copyright © 2011-2022 走看看