欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

Java多线程中的ThreadLocal,可继承,可修改

发布时间:2025/3/21 java 46 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Java多线程中的ThreadLocal,可继承,可修改 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

Java多线程中的ThreadLocal,可继承,可修改。



package test;import java.util.Date;public class InheritableThreadLocalExt extends InheritableThreadLocal<Object>{@Overrideprotected Object initialValue() {return new Date().getTime();}@Overrideprotected Object childValue(Object parentValue) {return parentValue + " insert at child thread.";}}


package test;public class Tools {public static InheritableThreadLocalExt tl = new InheritableThreadLocalExt();}

package test;public class ThreadA extends Thread {@Overridepublic void run() {try {for (int i = 0; i < 10; i++) {System.out.println("from ThreadA get value=" + Tools.tl.get());Thread.sleep(100);}} catch (InterruptedException e) {e.printStackTrace();}}}


package test;public class Run {public static void main(String[] args) {try {for (int i = 0; i < 10; i++) {System.out.println("from Main get value=" + Tools.tl.get());Thread.sleep(100);}Thread.sleep(5000L);ThreadA a = new ThreadA();a.start();} catch (InterruptedException e) {e.printStackTrace();}}}

输出:


from Main get value=1514531585175 from Main get value=1514531585175 from Main get value=1514531585175 from Main get value=1514531585175 from Main get value=1514531585175 from Main get value=1514531585175 from Main get value=1514531585175 from Main get value=1514531585175 from Main get value=1514531585175 from Main get value=1514531585175 from ThreadA get value=1514531585175 insert at child thread. from ThreadA get value=1514531585175 insert at child thread. from ThreadA get value=1514531585175 insert at child thread. from ThreadA get value=1514531585175 insert at child thread. from ThreadA get value=1514531585175 insert at child thread. from ThreadA get value=1514531585175 insert at child thread. from ThreadA get value=1514531585175 insert at child thread. from ThreadA get value=1514531585175 insert at child thread. from ThreadA get value=1514531585175 insert at child thread. from ThreadA get value=1514531585175 insert at child thread.

《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读

总结

以上是生活随笔为你收集整理的Java多线程中的ThreadLocal,可继承,可修改的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。