zoukankan      html  css  js  c++  java
  • threadLocal 的使用及意义

    package ThreadLocalTest;
    
    /**
     * threadLocal 原理:
     *      内部是一个threadLocalMap k为 ThreadLocal对象  V 为存入的值
     *      ThreadLocal本身并不存储值,它只是作为一个key来让线程从ThreadLocalMap获取value。
     *  意义:实现线程变量的隔离。提供存取当前线程的共享变量方式。
     *  使用场景:获取,关闭数据库连接等
     *  相关方法: get/set/remove
     */
    public class ThreadLocalStudy {
        public static void main(String[] args) {
            new Thread(new ThreadOne()).start();
            new Thread(new ThreadTwo()).start();
        }
    }
    class ThreadOne implements Runnable {
         ThreadLocal<String> threadLocal = new ThreadLocal<>();
        @Override
        public void run() {
            threadLocal.set("小明");
            System.out.println(Thread.currentThread()+"-----"+threadLocal.get());//小明
        }
    }
    class ThreadTwo implements Runnable {
        ThreadLocal<String> threadLocal = new ThreadLocal<>();
        @Override
        public void run() {
            System.out.println(Thread.currentThread()+"-----"+threadLocal.get());//null
        }
    }
  • 相关阅读:
    CodeForces
    hdu4003 树形dp
    hdu2196
    poj2486
    hdu1502 树形dp入门题
    cf 686D
    bzoj2763 分层图
    hdu4424 并查集+贪心+思维
    poj1734 最小环+输出路径
    集训题解1
  • 原文地址:https://www.cnblogs.com/lanSeGeDiao/p/10745931.html
Copyright © 2011-2022 走看看