ThreadLocal:线程局部变量

来自Wikioe
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、变量传递为线程开辟独立的存储空间,用于在同一线程的流程中保持上下文

结构关系

应用过程

参考

  1. 参考:【核心技术:并发#线程局部变量(ThreadLocal)
  2. 参考:【深入理解JVM:线程安全与锁优化#无同步方案
  3. 关于 ThreadLocal 的作用:
    1. 【变量隔离】:就是用于实现“线程安全”。
    2. 【变量传递】:参考【Hibernate笔记_4:核心知识#关于“Session_管理方式:绑定到本地线程”】(将业务层获取的 Session 传递到 DAO 层)。