初始化
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(); } };
浙公网安备 33010602011771号