线程安全
写的真的很好:https://www.cnblogs.com/lixinjie/p/10817860.html
线程安全 --> 内存安全
在一个进程里,有一个公共区域(堆内存),每个线程都可以访问到它,这样就会出现安全隐患。
线程安全是指,多个线程能够按照程序设计的那样去正确的访问公共数据。
但是在堆内存空间没有保护机制的情况下,对多线程来说是不安全的。
实现机制:
1、线程私有 (位置隔离)
2、ThreadLocal (数据隔离)
3、final 变量(所有线程都可以访问,但是不能修改, 只读标记)
4、互斥锁 (悲观锁, 加锁标记)
5、CAS(compare and swap)(乐观锁)