Java特性:原子性、可見性、有序性
原子性(操作是不可分、操作不可被中斷):是指一個操作是不可中斷的。即使是多個線程一起執行的時候,一個操作一旦開始,就不會被其他線程干擾。(synchronized、Lock)
可見性(保障數據的一致,數據安全一部分):是指當一個線程修改了某一個共享變量的值,其他線程是否能夠立即知道這個修改。(Volatile、Synchronized)
有序性(按照自己想要執行的順序執行線程):有序性是指程序在執行的時候,程序的代碼執行順序和語句的順序是一致的。 (Join)
注意:Volatile不具有原子性、不解決線程安全問題。