ThreadLocal类的讲解

1.线程局部变量,同一个线程内共享数据

2.api:ThreadLocal底层是一个Map,其api和map也很类似

set(value):给ThreadLocal赋值,ThreadLocal底层是一个Map,key是当前线程名,value就是参数里传进来的value值。可以想象出set(value)的底层是执行了map.put(线程名,value)操作

 get():得到ThreadLocal里的value,底层用的是map.get(线程名);

 remove():去除ThreadLocal里的value,底层用的是map.remove(线程名);

 

3.ThreadLocal local=new ThreadLocal();后,底层产生一个Map,map里存的是不同线程访问的线程名和对应的value。取值的时候根据线程名去取值。只要new出一个ThreadLocal,那么这个map就存放了线程名及其对应的value值。

 

posted @ 2018-03-26 10:00  架构改变世界  阅读(100)  评论(0编辑  收藏  举报