码迷,mamicode.com
首页 > 其他好文 > 详细

ThreadLocal的基本理解

时间:2018-05-25 15:29:35      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:传递   维护   内部类   局部变量   map   size   entry   net   参数   

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

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的基本理解

标签:传递   维护   内部类   局部变量   map   size   entry   net   参数   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!