请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

用这个例子将感觉没什么内容啊,而且对于ThreadLocal介绍的很不详细

感觉这一章节用这个例子来讲都没说说明太多东西啊, 都没怎么理解。既然ThreadLocal是多线程很重要的一个内容,也得详细说一下啊,不能因为你其他的课之前讲过就不细说了吧。 毕竟不能因为这个点,再去买你那个课啊

正在回答

1回答

你好,其他课里因为有实际例子做支撑,理解起来会更容易一些。

这里具体说一下threadlocal吧,threadlocal首先可以从字面上理解,thread local,他就是为每个线程存储线程独立的数据。因此呢,在某个线程运行时把数据写入threadLocal里,那么也就只有这个线程还能读取到,threadLocal本质上就是通过“线程封闭”的方式才保证线程安全的。

通常,我们会选择在某个切面里将特殊变量写入threadlocal,之后在实际每个接口实现时按需使用。

threadlocal能做到这种“线程封闭”,取决于底层实现时的threadLocalMap。Thread为每个线程维护了ThreadLocalMap这么一个“Map”,而ThreadLocalMap的key是LocalThread对象本身,value则是要存储的对象。当实际使用时,相当于传入LocalThread对象,获取这个thread之前存入的对象。

1 回复 有任何疑惑可以回复我~
  • 提问者 zhaoyunlong #1
    好的,非常感谢老师的解答!
    回复 有任何疑惑可以回复我~ 2020-05-30 21:57:42
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信