volatile介绍

并发编程的三大概念:

1
2
3
  (1)原子性:一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。
  (2)可见性:指当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。
  (3)有序性:程序执行的顺序按照代码的先后顺序执行。

volatile介绍:

1.volatile是虚拟机提供的最轻量级的同步机制

保证变量对所有线程的可见性但是不保证原子性,需要通过加锁保证原子性。

特例:

1)运算结果并不依赖变量的当前值,或者能够保证只有单一的线程修改变量的值

2)变量不需要与其他状态变量共同参与不变约束

2.禁止指令重排

指令重拍是指CPU采用了允许多条指令不按程序规定的顺序分开发送给各相应电路单元处理,也能得到正确的结果。
文章目录
  1. 1. 并发编程的三大概念:
  2. 2.
  3. 3. volatile介绍:
| 139.6k