InheritableThreadLocal使用
子线程可以使用父线程的值,ThreadLocal不可以
无初始值
private static final ThreadLocal<String> TL = new ThreadLocal<>();private static final InheritableThreadLocal<String> ITL = new InheritableThreadLocal<>();public static void main(String[] args) throws InterruptedException {TL.set("tl");ITL.set("itl");new Thread(() -> {System.out.println(TL.get());System.out.println(ITL.get());}).start();}
null
itl
有初始值
private static final ThreadLocal<String> TL = ThreadLocal.withInitial(() -> "tl");private static final InheritableThreadLocal<String> ITL = new InheritableThreadLocal<String>() {@Overrideprotected String initialValue() {return "itl";}};public static void main(String[] args) throws InterruptedException {new Thread(() -> {System.out.println(TL.get());System.out.println(ITL.get());}).start();Thread.sleep(1000);TL.set("tl2");ITL.set("itl2");new Thread(() -> {System.out.println(TL.get());System.out.println(ITL.get());}).start();}
tl
itl
tl
itl2
当tl中没有值时,返回默认值。
ThreadLocal不复制到子线程,所以没有值
InheritableThreadLocal使用相关推荐
- 每日一博 - ThreadLocal VS InheritableThreadLocal VS TransmittableThreadLocal
文章目录 ThreadLocal 核心API ThreadLocal类 源码分析 set get remove 缺陷 InheritableThreadLocal 源码解析 局限性 Transmitt ...
- Java 多线程:InheritableThreadLocal 实现原理
前言 介绍 InheritableThreadLocal 之前,假设对 ThreadLocal 已经有了一定的理解,比如基本概念,原理,如果没有,可以参考:Java 多线程:threadlocal关键 ...
- java线程之InheritableThreadLocal
ThreadLocal和InheritableThreadLocal区别,可以用代码测试一下: [java] view plain copy package com.lang; import juni ...
- ThreadLocal 和 InheritableThreadLocal
在学习ThreadLocal之前,建议先了解Java中的4种引用 一.先看一下Thread,ThreadMap,ThreadLocal的关系 Thread中持有一个ThreadLocalMap ,这里 ...
- ThreadLoacl,InheritableThreadLocal,原理,以及配合线程池使用的一些坑
虽然使用AOP可以获取方法签名,但是如果要获取方法中计算得出的数据,那么就得使用ThreadLocal,如果还涉及父线程,那么可以选择InheritableThreadLocal. 注意:理解一些原理 ...
- TransmittableThreadLocal 解决 线程池线程复用 无法复制 InheritableThreadLocal 的问题
ThreadLoacl,InheritableThreadLocal,原理,以及配合线程池使用的一些坑 TransmittableThreadLocal 原理 之前为了能让InheritableThr ...
- TransmittableThreadLocal 解决 线程池线程复用 无法复制 InheritableThreadLocal 的问题.
ThreadLoacl,InheritableThreadLocal,原理,以及配合线程池使用的一些坑 TransmittableThreadLocal 原理 之前为了能让InheritableThr ...
- 什么时候使用 InheritableThreadLocal
一.ThreadLocal 在父子线程传递的问题 public class InheritableThreadLocalDemo {// 全局变量 // static ThreadLocal<S ...
- ThreadLocal系列(二)-InheritableThreadLocal的使用及原理解析
ThreadLocal系列之InheritableThreadLocal的使用及原理解析(源码基于java8) 上一篇:ThreadLocal系列(一)-ThreadLocal的使用及原理解析 下一篇 ...
- ThreadLocal和InheritableThreadLocal使用
InheritableThreadLocal代码 public class InheritableThreadLocal<T> extends ThreadLocal<T> { ...
最新文章
- 机器学习笔记(五)续——朴素贝叶斯算法的后验概率最大化含义
- 2018年ML/AI重大进展有哪些?LeCun推荐了这篇回答
- caffe运行问题(持续更新),sublime设置
- tensorflow之variables_to_restore
- 目标检测M2Det论文总结
- Linux大实验 (图书管理系统)
- 计算机设备财产登记册,幼儿园财产登记制度
- protel 99se交互式布局
- 企业公众号运营的五大误区,你中招了吗?
- 【WSL2】ubuntu22.04 安装docker
- vscode - 史上最优秀的 IDE ?
- 男人的最高品位在于选择女人
- Android输入法方法,Android的输入法系统框架原理
- NC WebService开发参考
- 最新发布 Debian 系统的详细安装过程
- n维椭球体积公式_2020中考物理知识汇总:公式大全
- 【考试】职称英语考试那些事儿
- linux查进程位置的命令
- 视觉SLAM常见面试题 (下)
- 快钱 大数据改变第三方支付