首页 > 代码库 > ThreadLocal
ThreadLocal
ThreadLocal: 维护线程局部的变量。
ThreadLocal 不是线程。它就是一个Map。可以保存对象。
它保存的对象,只与当前线程相关。
当一个线程还没有运行完成时,如果不想传递数据,可以通过ThreadLocal来保存与这个Thread相关数据。
Demo
1 public class TestThreadLocal { 2 public static ThreadLocal<Object> tl=new ThreadLocal<Object>(); 3 public static Object thread() 4 { 5 Object o=tl.get();//获取数据 6 if(o==null) 7 { 8 o=new Random().nextInt(100); 9 tl.set(o);//设置数据10 }11 return o;12 } 13 }
1 public static void main(String[] args) { 2 Object o1=TestThreadLocal.thread(); 3 Object o2=TestThreadLocal.thread(); 4 System.out.println("o1:"+o1+" o2:"+o2);//mian调用 5 aa(); //main调用 6 new Thread() 7 { 8 public void run() { 9 Object o3=TestThreadLocal.thread();10 System.out.println("o3:"+o3);//线程调用 11 aa();//线程调用12 }13 }.start();14 }15 16 private static void aa()17 {18 Object o4=TestThreadLocal.thread();19 System.out.println("o4:"+ o4);20 }21 }
ThreadLocal
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。