不是很理解为什么HashMap里面要HashMap<Thread,HashMap<Integer,Obkect>>,老师可以说下么
“用两层HashMap是由于一个线程中可能会拥有多个ThreadLocal成员变量,所以内层HashMap是为了保存同一个线程中的不同ThreadLocal变量。”说法不对吧 如果一个线程中有两个ThreadLocal成员变量,那么按照你说的,他们的key是当前线程ThreadLocal值,那不是key冲突了?
外面的HashMap的Key是ThreadID,Value是内层的HashMap。
内层的HashMap的Key是当前ThreadLocal对象,Value是当前ThreadLocal的值。
用两层HashMap是由于一个线程中可能会拥有多个ThreadLocal成员变量,所以内层HashMap是为了保存同一个线程中的不同ThreadLocal变量。