1.volitale是Java虚拟机供应的一种轻量级的同步机制
三大特性1.1保证可见性 香I蕉1.2不保证原子性 1.3禁止指令重排
首要保证可见性
1.1 可见性
概念:当多个线程访问同一个变量时,一个线程批改了这个变量的值,其他线程可以当即看到批改的值
package com.yuxue.juc.volatileTest; /** * 1验证volatile的可见性 * 1.1 假定int num = 0,number变量没有增加volatile关键字修饰 * 1.2 91对volatile的理解--从视频教程JMM以91及单例模式剖析增加了volatile,可以处理可见性 */ class VolatileDemo1 { //自定义的类 public static class MyTest{ //类的内部成员变量num public int num = 0; //numTo60 方法,让num值为60 public void numTo60(){ num = 60; } } public static void main(String[] args) { MyTest myTest = new MyTest(); //第一个线程 new Thread(() -> { try { System.out.println(Thread.currentThread().getName() + "\t come in"); Thread.sleep(3000); myTest.numTo60(); System.out.println(Thread.currentThread().getName() + "\t update value:" + myTest.num); } catch (Interrupted