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

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

hot3.png

一、ThreadLocal的作用

threadLocal又叫做线程本地存储,它不是为了解决线程安全问题的,它是为了让每一个线程都拥有自己独立的变量。

二、ThreadLocal原理

线程类Thread中有一个ThreadLocals变量,它的类型是ThreadLocalMap。

threadLocal就是将自身对象作为key,需要保存的变量作为value,保存到threadLocalMap中。

这样,每一个线程就可以单独保存一个副本。

public T get(){    Thread t = Thread.currentThread();    ThreadLocalMap map = getMap(t);    if(map != null){        TreadLocalMap.Entry e = map.getEntry(this);        if(e != null){            return (T)e.value;        }    }    return setInitialValue();}

三、应用

可以用在解决数据库连接,session管理中。每一个线程只需要初始化一次连接。

转载于:https://my.oschina.net/u/3371784/blog/2961007

你可能感兴趣的文章
mysql批量结束线程
查看>>
cookie注入
查看>>
python range()内建函数
查看>>
Android常用的一些服务demo源码
查看>>
在32位redhat5上安装Oracle10gR2步骤
查看>>
基于KVM的NOVA开启suse10虚机配置文件
查看>>
Discuz!帮助站点
查看>>
centos6.5 设置固定ip
查看>>
hadoop shell
查看>>
Ganglia安装篇
查看>>
Linux日常维护(w,vmstat,top,sar,nload命令)
查看>>
MariaDB 安装
查看>>
systemd和systemctl详解
查看>>
TFRecord 的使用
查看>>
Python正则表达式指南中半部
查看>>
删除数据库所有表 序列号
查看>>
Day12 KVM构建与管理(Service01)
查看>>
【exp/imp】将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中
查看>>
强制进程产生coredump,检测死锁以及进程快照
查看>>
$.noConflict()方法--常用的方式
查看>>