线程局部变量 threadLocal

//为线程局部变量设置初始值
    static ThreadLocal<Object> threadLocal = new ThreadLocal<Object>() {
        @Override
        protected Object initialValue() {
            return "初始值";
        }
    };

    /**
     * 若是一个线程是从其余某个线程中建立的,这个类将提供继承的值
     */
    static ThreadLocal<Object> threadLocalII = new InheritableThreadLocal<Object>() {
        @Override
        protected Object childValue(Object o) {
            return "覆盖继承的值";
        }
    };

    public static void main(String args[]){
        threadLocalII.set(new Integer(123));

        Thread thread = new MyThread();
        thread.start();

        System.out.println("main = " + threadLocalII.get());
    }

    static class MyThread extends Thread{
        @Override
        public void run(){
            System.out.println("MyThread = " + threadLocalII.get());
        }
    }
相关文章
相关标签/搜索