美文网首页
ThreadLocal学习总结

ThreadLocal学习总结

作者: 高考只考750分 | 来源:发表于2018-03-25 23:23 被阅读0次

ThreadLocal提供线程内变量的存取操作,方便在同个线程里面,数据的获取。减少函数或者组件的公共变量传递的复杂度。

一、特性

各个线程存储的变量是相互独立的。比如,在线程A里面,只能获取在A线程存储的数据变量,不能获取其它线程的变量。

二、重要方法

1、get(),获取当前线程存储变量

3、set(),把 变量存在当前线程里面

三、原理

1、每个线程里面有个ThreadLocal.ThreadLocalMap成员变量,不同线程有不同ThreadLocalMap实例

2、当线程A调用ThreadLocal的set和get方法,会获取线程A里面ThreadLocalMap的实例,然后进行存储和获取。从而实现线程间的数据隔离

四、当前线程存储多个变量

ThreadLocal.ThreadLocalMap是使用key-value结构存储数据,当你存储多个变量时

比如

ThreadLocal stringLocalOne= new ThreadLocal();

ThreadLocal stringLocalTwo= new ThreadLocal();

ThreadLocal intergerLocal = new ThreadLocal();

在线程A依次调用如下方法

stringLocalOne.set("One");

stringLocalTwo.set("two")

intergerLocal .set(10);

假如上面key依次对应为 stringOne,stringTwo, integerDefault,那么在ThreadLocalMap里面,以stringOne-one,stringTwo-two,integerDefault-10的形式相应存储数据(这里为了方便举例,假设这样,源码实际并不是这样存储)

这里这是大概说下我的对ThreadLocal的理解,建议大家还是去撸一遍ThreadLocal源码

相关文章

  • ThreadLocal学习总结

    ThreadLocal提供线程内变量的存取操作,方便在同个线程里面,数据的获取。减少函数或者组件的公共变量传递的复...

  • ThreadLocal的使用原理总结

    ThreadLocal的使用方法: ThreadLocal原理总结:

  • 聊一聊我眼中的ThreadLocal(面试题形式总结)

    这篇总结一下 ThreadLocal,主要的议题有: ThreadLocal 介绍 ThreadLocal 实现原...

  • Android消息机制 知识点总结

    Android消息机制 知识点总结 1. ThreadLocal总结 ThreadLocal是一个线程内部的数据存...

  • ThreadLocal总结

    ThreadLocal是java.lang包里的一个优秀的多线程工具。ThreadLocal为变量在每个线程中都创...

  • ThreadLocal 总结

    一 、概述 定义官方定义: This class provides thread-local variables....

  • ThreadLocal总结

    ThreadLocal适合于以下场景:(1) 每个线程都有;(2) 每个线程都不一样;(3) 作用范围为整个类。在...

  • ThreadLocal总结

    问:ThreadLocal底层的map是线程安全的吗?不是线程安全的,也不需要为它设置线程安全的锁。ThreadL...

  • ThreadLocal总结

    1.什么是ThreadLocal 它是一个本地线程副本变量的工具,用于私有线程和该线程存放的副本对象做一个映射,实...

  • ThreadLocal源码分析

    学习最重要的一点就是回顾总结,今天就总结一下ThreadLocal吧!嘿嘿嘿(猥琐的笑一笑)。 初识ThreadL...

网友评论

      本文标题:ThreadLocal学习总结

      本文链接:https://www.haomeiwen.com/subject/nttlcftx.html