ThreadLocal可以理解为他是一个特殊的Map,他有一个set和get方法,可以保存和获得当前线程的一个实例,当调用set时,相当于set(Thread.currentThread(), value), 这样的好处共享数据,且不用在调用时相互传递参数。