zoukankan      html  css  js  c++  java
  • volatile关键字分析 lq

    1. volatile是一个轻量级的同步机制。不会阻塞线程。
      • 保证可见性(被volatile关键字修饰的变量 一个线程修改后的值,所有线程都可见。)
      • 不保证原子性(原子性:一个操作或者指令、事务,需要整体的执行成功,要么整体的失败。不能被分割。)
      • 禁止指令重排(指令重排:单线程环境下确保最终执行结果和程序顺序执行结果一致。)
        image
    2. 与synchronized的区别:
      • volatile没有synchronized使用的广泛,但是比synchronized轻量级。
      • synchronized既能保证可见性,又能保证原子性,而volatile只能保证可见性,无法保证原子性.
      • volatile关键字主要用于解决变量在多个线程之间的可见性,而 synchronized 关键字解决的是多个线程之间访问资源的同步性。
    3. 从内存可见性角度看,volatile读相当于加锁,volatile写相当于解锁。
  • 相关阅读:
    窗体控件JFrame的使用
    WindowBuilder的安装与简介
    Swing事件机制
    Swing的MVC结构
    Swing框架的继承关系
    SWT简介
    Swing简介
    AWT简介
    Java界面设计
    使用Java建立聊天客户端
  • 原文地址:https://www.cnblogs.com/rbwbear/p/15566936.html
Copyright © 2011-2022 走看看