4.0线程安全性

线程安全性主要体现在以下三个方面:

  • 原子性:一个操作不能被打断,要么全部执行完毕,要么不执行.

  • 可见性:一个线程对共享变量做了修改之后,其他的线程立即能够看到(感知到)该变量这种修改(变化)。

  • 有序性:在本线程内观察,操作都是有序的;如果在一个线程中观察另外一个线程,所有的操作都是无序的。

如何保障以上三个方面

原子性:Atomic包、CAS算法、synchronized、Lock

可见性:synchronized、volatile

有序性:happens-before原则

Last updated

Was this helpful?