原子性是什么

即不可再分了,不能分为多步操作。

可见性是什么

一个线程对共享变量的修改,更够及时的被其他线程看到。

有序性是什么

在本线程内观察,操作都是有序的;如果在一个线程中观察另外一个线程,所有的操作都是无序的。
可见性:
volatile关键字:通过volatile关键字修饰内存中的变量,该变量在线程之间共享
原子性:
java.util.concurrent.atomic,原子类
在java中,我们知道++操作实际上并不是线程安全的,为了保证线程间的变量原子性,java引入了atomic类。它的作用就是保证,使用的变量,一定是原子性的。
有序性:
synchronized,日常用的最多的东西,当使用synchronized关键字时,只能有一个线程执行直到执行完成后或异常,才会释放锁。所以可以保证synchronized代码块或方法只会有一个线程执行,保障了程序的有序性。