可见性指一个线程对某个变量更改后,是否对其他线程可见
某个时刻,只允许一个线程修改某个共享变量
final关键字修饰的变量在各个线程间是可见的
volatile执行过程
可见要做到原子性,必须每个时刻只能有一个线程对该变量进行更新
volatile 不能像synchronized做到原子性,但是他的性能相对synchronized较高。那volatile可以在哪些场景下使用呢?当对变量只读,且修改时不依赖原值的情况下可以使用
synchronized既能保证可见性,又能保证原子性
synchronized执行过程