摘要:ThreadLocal是线程局部变量,其中保存了特定于该线程的值.每个线程都拥有一份独立的副本值,即每个线程修改变量值不影响其他线程该变量的副本值.这些特定于线程的值保存在Thread对象中,当线程终止后,这些值会作为垃圾回收. 如果没有看源码可能会认为ThreadLocal内部的实现方式应该是采用Map容器,保存一个的映射关系.然而JDK内部并不是这么实现的,而是在Thread类中加入了一个散列表(ThreadLocalMap是ThreadLocal的静态内部类)来维护当前线程的所有局部变量值(即当前线程中的所有ThreadLocal变量),通过散列表数据结构可以快速地执行get和set操作. 阅读全文
posted @ 2016-01-06 20:31 along-JL 阅读(505) 评论(0) 推荐(1) 编辑