为了账号安全,请及时绑定邮箱和手机立即绑定

为什么MyThreadLocal里面HashMap里面再嵌套一个HashMap呢

不是很理解为什么HashMap里面要HashMap<Thread,HashMap<Integer,Obkect>>,老师可以说下么

正在回答

2 回答

“用两层HashMap是由于一个线程中可能会拥有多个ThreadLocal成员变量,所以内层HashMap是为了保存同一个线程中的不同ThreadLocal变量。”说法不对吧  如果一个线程中有两个ThreadLocal成员变量,那么按照你说的,他们的key是当前线程ThreadLocal值,那不是key冲突了?

0 回复 有任何疑惑可以回复我~

外面的HashMap的Key是ThreadID,Value是内层的HashMap。

内层的HashMap的Key是当前ThreadLocal对象,Value是当前ThreadLocal的值。

用两层HashMap是由于一个线程中可能会拥有多个ThreadLocal成员变量,所以内层HashMap是为了保存同一个线程中的不同ThreadLocal变量。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么MyThreadLocal里面HashMap里面再嵌套一个HashMap呢

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信