4.0线程安全性
线程安全性主要体现在以下三个方面:
原子性:一个操作不能被打断,要么全部执行完毕,要么不执行.
可见性:一个线程对共享变量做了修改之后,其他的线程立即能够看到(感知到)该变量这种修改(变化)。
有序性:在本线程内观察,操作都是有序的;如果在一个线程中观察另外一个线程,所有的操作都是无序的。
如何保障以上三个方面
原子性:Atomic包、CAS算法、synchronized、Lock
可见性:synchronized、volatile
有序性:happens-before原则
Last updated
Was this helpful?