java并发的底层实现原理
一. 并发编程的三要素
1. 原子性
同一个操作或者多个操作,要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。
2. 可见性
当多个线程访问同一个变量时,一个线程修改类这个变量的值,其他线程能够立即得到修改的值。
3. 有序性
程序执行的顺序按照代码的先后顺序执行。
在多线程的环境下,必须要保证原子性、可见性和有序性。只要有一个没有被保证买就有可能会导致程序运行错误。
二. 指令重排序
三. java中对并发编程三要素的处理
- 原子性
- 可见性
- 有序性