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允许一个线程以及该线程创建的所有子线程都可以访问它保存的值。

相关文章:

  • 2022-12-23
  • 2021-07-14
  • 2021-04-15
  • 2022-12-23
  • 2022-01-21
  • 2021-12-02
  • 2021-04-21
猜你喜欢
  • 2021-10-09
  • 2022-12-23
  • 2022-12-23
  • 2021-05-03
  • 2021-11-13
  • 2021-05-11
相关资源
相似解决方案