当前位置: 首页 > news >正文

ThreadLocal作用

ThreadLocal作用(线程本地存储)

ThreadLocal,很多地方叫做线程本地变量,也有些地方叫做线程本地存储,ThreadLocal的作用是提供线程内的局部变量,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或者组件之间一些公共变量的传递的复杂度。

ThreadLocalMap(线程的一个属性)

  1. 每个线程中都有一个自己的ThreadLocalMap类对象,可以将线程自己的对象保持到其中,各管各的,线程可以正确的访问到自己的对象。

  2. 将一个共用的ThreadLocal静态实例作为key,将不同对象的引用保存到不同线程的ThreadLocalMap中,然后在线程执行的各处通过这个静态ThreadLocal实例的get()方法取得自己线程保存的那个对象,避免了将这个对象作为参数传递的麻烦。

  3. ThreadLocalMap其实就是线程里面的一个属性,它在Thread类中定义

    ThreadLocal.ThreadLocalMap threadLocals = null;
    

在这里插入图片描述

使用场景

最常见的ThreadLocal使用场景为用来解决数据库连接、Session管理等。

private static final ThreadLocal threadSession = new ThreadLocal();
public static Session getSession() throws InfrastructureException{Session s = (Session)threadSession.get();try{if(s == null){s = getSessionFactory().openSession();threadSession.set(s);}}catch(HibernateException ex){throw new InfrastructureException(ex);}return s;
}

http://www.lryc.cn/news/390093.html

相关文章:

  • Python基础入门知识
  • uniapp——据用户角色显示或隐藏部分功能权限。
  • JCR一区级 | Matlab实现BO-Transformer-LSTM多变量回归预测
  • 软件开发环境-系统架构师(二十一)
  • AI与大模型工程师证书研修班报名啦!
  • ctfshow-web入门-命令执行(web56、web57、web58)
  • controller不同的后端路径对应vue前端传递数据发送请求的方式,vue请求参数 param 与data 如何对应后端参数
  • 【FFmpeg】avcodec_send_frame函数
  • python获取字符编码
  • 通过MATLAB控制TI毫米波雷达的工作状态之实时数据采集
  • 华为HCIP Datacom H12-821 卷21
  • MySQL之应用层优化(二)
  • Java源码解读之常量52429
  • “Photoshop AI插件:StartAI的全面使用攻略
  • 入门Axure:快速掌握原型设计技能
  • Java中的序列化与反序列化详解
  • 在鸿蒙开发中如何实现皮肤切换?
  • FlowUs新一代内容创作营销平台|FlowUs息流国产 好用 不限速
  • WebSocket解决方案(springboot 基于Redis发布订阅)
  • 如何优化网站SEO排名?
  • 基于Java的音乐网站系统-计算机毕业设计源码01239
  • 云原生之容器编排实践-OpenEuler23.09在线安装Kubernetes与KubeSphere
  • Ubuntu 截图shutter,图像编辑 gimp,录屏kazam
  • WSO2 products 文件上传漏洞(CVE-2022-29464)
  • YOLOv8改进 | 卷积模块 | SAConv可切换空洞卷积
  • 使用Python下载并合并HLS视频片段
  • 常见的九种二极管
  • 竞赛选题 python的搜索引擎系统设计与实现
  • 大模型技术方向夏令营1期-对话分角色要素提取挑战赛
  • 类和对象(封装、继承、多态、友元)