设为首页 加入收藏

TOP

硬核剖析ThreadLocal源码,面试官看了直呼内行(四)
2023-07-25 21:27:38 】 浏览:77
Tags:ThreadLocal 源码
下次执行get、set方法遍历数组,遍历到这个位置,才会删除这个无效的value。这也是造成内存泄漏的原因之一。

6.7 怎么实现父子线程共享ThreadLocal数据?

只需要InheritableThreadLocal即可,当初始化子线程的时候,会从父线程拷贝ThreadLocal数据。

/**
 * @author 一灯架构
 * @apiNote ThreadLocal示例
 **/
public class ThreadLocalDemo {
    // 1. 创建可被子线程继承数据的ThreadLocal
    static ThreadLocal<String> threadLocal = new InheritableThreadLocal<>();

    public static void main(String[] args) {
        // 2. 给ThreadLocal赋值
        threadLocal.set("关注公众号:一灯架构");

        // 3. 启动一个子线程,看是否能获取到主线程数据
        new Thread(() -> {
            System.out.println(threadLocal.get()); // 输出 关注公众号:一灯架构
        }).start();

    }

}

我是「一灯架构」,如果本文对你有帮助,欢迎各位小伙伴点赞、评论和关注,感谢各位老铁,我们下期见

image

首页 上一页 1 2 3 4 下一页 尾页 4/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇爱上源码,重学Spring AOP深入 下一篇一个脚本实现 SSL 证书到期监控,..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目