ThreadLocal:线程局部变量
Eijux(讨论 | 贡献)2022年12月30日 (五) 01:49的版本 (创建页面,内容为“category:Java == 关于 == <span style="color: blue; font-size: 150%">'''ThreadLocal'''</span> 关键字的概念与作用,在<u>“'''Java 核心技术'''”(卷 I)的“'''并发'''”部分</u><ref name="并发"/>与<u>“'''深入理解 JVM 虚拟机'''”的“'''线程安全'''”部分</u><ref name="线程安全"/>已经了解差不多了。 简单来说:'''ThreadLocal 就是通过定义“线程局部变量”的方式实现“线程…”)
关于
ThreadLocal 关键字的概念与作用,在“Java 核心技术”(卷 I)的“并发”部分[1]与“深入理解 JVM 虚拟机”的“线程安全”部分[2]已经了解差不多了。 简单来说:ThreadLocal 就是通过定义“线程局部变量”的方式实现“线程本地存储”。 其作用(或者说应用场景)[3]: 1、【变量隔离】为变量在每个线程中创建一个副本,避免同一参数在所有线程中传递。 2、【变量传递】为线程开辟独立的存储空间,用于在同一线程的流程中保持上下文。
结构关系
应用过程
参考
- ↑ 参考:【核心技术:并发#线程局部变量(ThreadLocal)】
- ↑ 参考:【深入理解JVM:线程安全与锁优化#无同步方案】
- ↑
关于 ThreadLocal 的作用:
- 【变量隔离】:就是用于实现“线程安全”。
- 【变量传递】:参考【Hibernate笔记_4:核心知识#关于“Session_管理方式:绑定到本地线程”】(将业务层获取的 Session 传递到 DAO 层)。