返回博主主页

InheritableThreadLocal 使用举例

ThreadLocal

public class MyThread extends Thread {
    private ThreadLocal<String> threadLocal = new ThreadLocal<>();


    public void run() {
        threadLocal.set("ThreadLocal value in MyThread");
        System.out.println("MyThread: " + threadLocal.get());

        Thread childThread = new Thread() {
            public void run() {
                System.out.println("ChildThread: " + threadLocal.get());
            }
        };
        childThread.start();
    }
    public static void main(String[] args) {
        MyThread myThread = new MyThread();
        myThread.start();
    }
}
MyThread: ThreadLocal value in MyThread
ChildThread: null

InheritableThreadLocal

public class MyThread extends Thread {
    private ThreadLocal<String> threadLocal = new InheritableThreadLocal<>();


    public void run() {
        threadLocal.set("ThreadLocal value in MyThread");
        System.out.println("MyThread: " + threadLocal.get());

        Thread childThread = new Thread() {
            public void run() {
                System.out.println("ChildThread: " + threadLocal.get());
            }
        };
        childThread.start();
    }
    public static void main(String[] args) {
        MyThread myThread = new MyThread();
        myThread.start();
    }
}
MyThread: ThreadLocal value in MyThread
ChildThread: ThreadLocal value in MyThread

TransmittableThreadLocal

同 InheritableThreadLocal

posted @ 2024-03-05 14:33  懒惰的星期六  阅读(7)  评论(0编辑  收藏  举报

Welcome to here

主页