ThreadLocal的设计理念与作用

Posted feicheninfo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThreadLocal的设计理念与作用相关的知识,希望对你有一定的参考价值。

Java中的ThreadLocal类允许我们创建只能被同一个线程读写的变量。因此,如果一段代码含有一个ThreadLocal变量的引用,即使两个线程同时执行这段代码,它们也无法访问到对方的ThreadLocal变量。

private ThreadLocal myThreadLocal = new ThreadLocal();

myThreadLocal.set("A thread local value”);

String threadLocalValue = (String) myThreadLocal.get();

/////////////////////////////////////

private ThreadLocal myThreadLocal = new ThreadLocal<String>();

String threadLocalValue = myThreadLocal.get();

/////////////////////////////////////

overeide initialValue方法可以设置初始化值。

InheritableThreadLocal类是ThreadLocal类的子类。ThreadLocal中每个线程拥有它自己的值,与ThreadLocal不同的是,InheritableThreadLocal允许一个线程以及该线程创建的所有子线程都可以访问它保存的值。

以上是关于ThreadLocal的设计理念与作用的主要内容,如果未能解决你的问题,请参考以下文章

分析Threadlocal内部实现原理,并解决Threadlocal的ThreadLocalMap的hash冲突与内存泄露

ThreadLocal

个人谈谈对ThreadLocal内存泄露的理解

ThreadLocal的内部结构和源码探究

HashMap原理:哈希函数的设计

ThreadLocal源码分析理解弱引用和内存泄漏