博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java——ThreadLocal的使用
阅读量:5832 次
发布时间:2019-06-18

本文共 583 字,大约阅读时间需要 1 分钟。

概述

ThreadLocal:依附在线程上的变量的媒介。在每一个Thread类中都有一个ThreadLocalMap的实例,源码中是这样体现的   /* ThreadLocal values pertaining to this thread. This map is maintained   * by the ThreadLocal class.    */    ThreadLocal.ThreadLocalMap threadLocals = null;  ThreadLocalMap是以ThreadLocal对象为键,任意对象为值的Map.通过ThreadLocal类中的 get,set,initialValue方法可以获取,设置,初始化:依靠ThreadLocal类作为媒介依附在线程上的任意对象。

使用场景

一个对象功能的施展需要依赖于一个线程:如唯一标示一个线程,用来调试并发执行的程序哪个线程出现了问题;或者用来追踪多线程环境下每一个线程的执行轨迹。在数据库中,一个事务可能会重复的拿同一个锁,以及维护自身的SavePoint,以便回滚的时候使用到。实际上一个事务就对应着一个线程,通过ThreaLocald把事务的实现类依附在线程上,这样就方便处理锁的缓存,事务回滚,日志记录等问题了。

例子

用ThreadLocal实现CLH锁的时候用到

转载地址:http://yfgdx.baihongyu.com/

你可能感兴趣的文章
linkcloud:KVM虚拟化渐趋成熟 可与XEN和Vmware比肩
查看>>
利用Netdom工具将客户端加到AD指定OU
查看>>
企业ERP选型的三步曲:学医 看病 抓药
查看>>
技术求助帖
查看>>
JVM参数优化
查看>>
Cocos2d-x android can't resolved coscos2dx library
查看>>
文艺码农~Canvas手把手教你如何绘制一辆跑车
查看>>
linux下的vi 常用编辑命令
查看>>
调试Cisco企业级路由器
查看>>
基础知识之密码学和证书
查看>>
记录:Protocol Buffers(protobuf)在Java开发中使用
查看>>
tomcat配置详解的网站
查看>>
Spring学习笔记2——高级特性
查看>>
<Power Shell>18 通过电子邮件获取SharePoint 2010的健康分析仪警报报告
查看>>
Java开发条形码
查看>>
一次完整的 HTTP 请求过程
查看>>
使用Python统计端口TCP连接数
查看>>
清华“差生”10年奋斗经历:只写事业,不写女人
查看>>
我的友情链接
查看>>
如何设计MongoDB数据模型
查看>>