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

posted @ 2018-09-20 08:40  飞晨信息  阅读(603)  评论(0编辑  收藏  举报