volatile关键字介绍

113 阅读1分钟

1.并发和并行

并发:多个线程同时访问一个资源,例如秒杀场景 并行:是指一边干啥一边干啥,比如一边听音乐,一边看电子书

2.volatile理解

volatile 是java虚拟机提供的轻量级的同步机制,三大特性:

保证可见性

不保证原子性

禁止指令重排

JVM(java虚拟机) 由高并发引出-----JMM(java内存模型),本身就是一种抽象的概念,但是并不真实存在,它描述的是一组规则

或规范,通过这组规范定义了线程中各个变量的访问方式。JMM关于同步的规定: 1)线程解锁前,必须把变量的最新值刷新到主内存

2)线程加锁后,必须读取主内存最新值保存到自己的内存

3)加锁解锁必须是同一把锁

可见性是由JMM(java内存模型定义的),具体定义:

可见性 就是 一个线程改变了主物理内存中的值,其他线程能立马收到通知