1.原子性:保證同一時刻該資源只能有一個線程訪問修改,其他線程阻塞等待,例如Atomic包,鎖
2.可見性:一個線程對於主內存的數據操作對於其他線程是可見的
3.有序性:一個線程觀察其他線程中指令執行順序,由於指令重排序存在,觀察結果一般雜亂無序
原子性: 互斥訪問,Atomic包,CAS算法,Synchronized,Lock
可見性:synchronized,volatile
順序性:happends-before