首页 > 其他 > 详细

threadLocal 的使用及意义

时间:2019-04-21 18:41:04      阅读:117      评论:0      收藏:0      [点我收藏+]
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
    }
}

 

threadLocal 的使用及意义

原文:https://www.cnblogs.com/lanSeGeDiao/p/10745931.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!