首页 > 其他 > 详细

ThreadLocal的基本理解

时间:2018-05-25 15:21:53      阅读:181      评论:0      收藏:0      [点我收藏+]

本人第一次写博客,理解尚浅,往后多多指教。

ThreadLocal可以让我们拥有当前线程的变量,每个线程可以通过get()和set()方法来获取这个局部变量进行操作,并且保证线程之间都是独立的。

用途:

一、管理connetion。

二、避免一些参数的传递。

ThreadLocal实现的原理

TheadLocal类部有个内部类ThreadLocalMap,用Entry类作为存储,将当前的ThreadLocal对象作为key,变量作为value,

总结:

  1. 每个Thread维护着一个ThreadLocalMap的引用
  2. ThreadLocalMap是ThreadLocal的内部类,用Entry来进行存储
  3. 调用ThreadLocal的set()方法时,实际上就是往ThreadLocalMap设置值,key是ThreadLocal对象,值是传递进来的对象
  4. 调用ThreadLocal的get()方法时,实际上就是往ThreadLocalMap获取值,key是ThreadLocal对象
  5. ThreadLocal本身并不存储值,它只是作为一个key来让线程从ThreadLocalMap获取value

ThreadLocal的基本理解

原文:https://www.cnblogs.com/liubincode/p/9088735.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!