关于ThreadLocal的个人理解
先说结论:Threadlocal是对编程过程中,抽取公共部分“过了头”的一种弥补。Threadlocal诞生的版本是JDK1.2,而Thread出现在JDK1.0,抽取公共部分的做法自然在JDK诞生之前就存在,如果在单线程环境下,只需要一个main方法处理就够了,Thread和ThreadLocal就是多余的。当出现多线程,也就是开始使用Thread,一开始被当作公共部分抽取出去的成员,就自然而然的在线程之外了,如果想要安全的使用它们,就必须要把这些公共成员全都拿到各个线程中去(拿进来的和原来的已经没有关系了),以隔离互相的影响,而在使用的过程中,发现这么做非常繁琐,造成很多冗余,后面也就出现了ThreadLocal,原来拿进来的公共部分不需要再重新定义,只需要把它们的一个副本拿进来即可,定义依然在外面,这样,抽取公共部分的做法就依然可用。
关于ThreadLocal的个人理解
最新推荐文章于 2025-01-02 15:43:54 发布