线程安全

写的真的很好:https://www.cnblogs.com/lixinjie/p/10817860.html

线程安全 --> 内存安全

在一个进程里,有一个公共区域(堆内存),每个线程都可以访问到它,这样就会出现安全隐患。

线程安全是指,多个线程能够按照程序设计的那样去正确的访问公共数据。

但是在堆内存空间没有保护机制的情况下,对多线程来说是不安全的。

实现机制:

1、线程私有 (位置隔离)

2、ThreadLocal (数据隔离)

3、final 变量(所有线程都可以访问,但是不能修改, 只读标记)

4、互斥锁 (悲观锁, 加锁标记)

5、CAS(compare and swap)(乐观锁) 

原文地址:https://www.cnblogs.com/DDiamondd/p/10953367.html