ThreadLocal
ThreadLocal提供了线程内存储变量的能力,这些变量不同之处在于每一个线程读取的变量是对应的互相独立的。通过get和set方法就可以得到当前线程对应的值。
public static void main(String[] args) {
ThreadLocal<String> tl = new ThreadLocal<>();
new Thread(new Runnable() {
@Override
public void run() {
tl.set("有值了");
System.out.println("t1"+tl.get());
}
}).start();
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("t2"+tl.get());
}
}).start();
}