博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

ThreadLocal的一些配置

Posted on 2021-11-22 11:21  青柠时光  阅读(10)  评论(0)    收藏  举报

初始化

ThreadLocal<String> mStringThreadLocal = new ThreadLocal<>();

mStringThreadLocal.set("droidyue.com");

mStringThreadLocal.get();

 

private void testThreadLocal() {
    Thread t = new Thread() {
        ThreadLocal<String> mStringThreadLocal = new ThreadLocal<>();

        @Override
        public void run() {
            super.run();
            mStringThreadLocal.set("droidyue.com");
            mStringThreadLocal.get();
        }
    };

    t.start();
}

 

 

ThreadLocal初始值

为ThreadLocal设置默认的get初始值,需要重写initialValue方法,下面是一段代码,我们将默认值修改成了线程的名字

ThreadLocal<String> mThreadLocal = new ThreadLocal<String>() {
    @Override
    protected String initialValue() {
      return Thread.currentThread().getName();
    }
};