6.4 变量的安全性探索
目录介绍
- 01.如何设计变量安全性
- 1.1 局部变量保证安全
- 1.2 线程封闭保证安全
- 1.3 使用同步保证变量安全
- 1.4 原子变量保证安全
- 1.5 使用不可变对象
- 1.6 避免变量共享可变状态
- 02.局部变量线程安全
- 2.1 思考局部变量安全问题
- 2.2 方法如何被执行
- 2.3 理解调用栈设计
- 2.4 局部变量存哪里
- 2.5 调用栈与线程关系
- 2.6 没有共享无并发
- 03.全局变量线程不安全
- 3.1 全局变量为何不安全
- 3.2 全局变量存哪里
- 3.3 全局变量有调用栈吗
01.如何设计变量安全性
1.1 局部变量保证安全
- 将变量声明为方法内的局部变量,而不是共享的全局变量。
- 局部变量在每个线程中都有自己的副本,因此不会出现线程安全问题。
1.2 线程封闭保证安全
- 变量限制在单个线程内部,确保每个线程都只能访问自己的变量副本。
- 例如,可以将变量作为方法参数传递给线程的run()方法,或者使用ThreadLocal类来存储线程本地变量。
1.3 使用同步保证变量安全
- 使用synchronized关键字或其他同步机制来保护共享变量的访问。
- 同步可以确保在同一时