1. 首页
  2. 编程语言
  3. Java
  4. java中ThreadLocal取不到值的两种原因

java中ThreadLocal取不到值的两种原因

上传者: 2022-04-28 20:14:47上传 PDF文件 51.09 KB 热度 10次

第一种,也是最常见的一种,就是多个线程使用ThreadLocal第二种,类加载器不同造成取不到值,本质原因就是不同类加载器造成多个ThreadLocal对象2个累加器加载的对象引用了相同的静态变量ThreadLocal,实际上ThreadLocal并不是同一个值,所以即使在一个线程中也获取不到期望的值。像依赖注入,如果你自己创建了一个对象,然后用手动注入了一个容器创建的依赖,假设这个依赖是自定义类加器创建的,可能会造成这种情况。

用户评论