工作实践中如何使用ThreadLocal?

2023-12-14 21:14:36

主要作用

多线程问题主要是多个线程共享一个对象导致的,我们不让他共享就行了,每个线程保存一份自己的对象,自己玩自己的对象,就不会出现线程问题了。

ThreadLocal这个作用就是让线程自己独立保存一份自己的变量副本。每个线程都独立使用自己的变量副本。这样就不会影响别的线程。

ThreadLocal是解决多线程问题的一个重要思路。

有个非常关键的内部类ThreadLocalMap,这个类是实现线程隔离的一个关键,ThreadLocalMap类似于Map,但是不是Map,是key,value组成的一个 Entry数组,它的key就是ThreadLocal它本身的一个弱引用。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意事项:在引用之后,调用一下ThreadLocal的remove方法就不会出现内存泄漏的方法了。

文章来源:https://blog.csdn.net/weixin_43221207/article/details/134905359
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。