zoukankan      html  css  js  c++  java
  • 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 }

  • 相关阅读:
    BZOJ3270: 博物馆【概率DP】【高斯消元】
    SpringCloud入门概述
    微服务的技术栈
    Markdown基础教程
    分布式架构和垂直架构
    ZooKeeper和CAP理论及一致性原则
    zookeer集群的特性
    java操作zookeeper
    Zookeeper命令使用
    Zookeeper的安装
  • 原文地址:https://www.cnblogs.com/liuwt365/p/4129337.html
Copyright © 2011-2022 走看看