• volatile关键字简单摘要


    volatile就可以说是java虚拟机提供的最轻量级的同步机制

    特性:

    1.保证共享变量的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的——要了解主存、高速缓存还有Java内存模型中线程的工作内存、主存等概念。

    2.禁止指令重新排序,一定程度上保证有序性。——要理解Java内存模型为了提高性能,优化效率,允许编译器和处理机对指令进行重排的概念。

    3.不保证原子性。——要知道,Java中好像只有对基本数据类型的最简单的读取和赋值操作是原子性的操作。

    学习文章:

    https://www.cnblogs.com/dolphin0520/p/3920373.html——《Java并发编程:volatile关键字解析 》讲的很好,清楚明了。

    https://www.jianshu.com/p/157279e6efdb——《让你彻底理解volatile》对底层的知识讲得很详细,特别是讲如何防止指令重排序,内存屏障这些。

    其他的补充知识:

    https://www.jianshu.com/p/d52fea0d6ba5——《java内存模型以及happens-before规则》

    https://www.cnblogs.com/gtarcoder/p/5295281.html——《cpu缓存与多线程 》

  • 相关阅读:
    AJAX教程
    HTTP请求响应对照表
    JQuery教程
    服务器网络编程一
    servlet
    DOM浏览器文档模型
    在centos7下安装nodejs14
    将C#控制台程序部署到Linux系统
    在gitlab上通过python服务钩子实现自动部署
    Centos 7搭建Gitlab服务器超详细
  • 原文地址:https://www.cnblogs.com/wangshen31/p/10444142.html
Copyright © 2020-2023  润新知