##java线程相关关键字
####可见性
可见性是指线程之间的可见性,一个现在的装对另外一个线程是可见的
也就是说一个变量的修改后的对于其他线程而已立刻可以看见,但是不存在原子性,也就存在安全问题
####原子性
原子是世界上最小的单位具有不可分割性
java 通常通过 synchronized 关键字保证原子性
####有序性
即程序执行的顺序按照代码的先后顺序执行
Java内存模型中的有序性可以总结为:如果在本线程内观察,所有操作都是有序的;如果在一个线程中观察另一个线程,所有操作都是无序的
前半句是指“线程内表现为串行语义”,后半句是指“指令重排序”现象和“工作内存主主内存同步延迟”现象
####互斥性
互斥即一次只允许一个线程持有某个特定的锁,一次就只有一个线程能够使用该共享数据
####volatile
在使用这个关键字时变量不会执行加锁操作,也就不会线程阻塞
volatile关键字是一个sychronized关键字更轻量级的同步机制