java多线—ThreadLocal
一.简介
ThreadLocal是线程内独有的局部变量,用于存储任何类型的变量对象。即使两个线程正在执行相同的代码,并且代码具有对ThreadLocal变量的引用,这两个线程也看不到彼此的ThreadLocal变量。每个线程都有自己的ThreadLocal变量,并且可以使用get()和set()方法来取值和赋值。
二.ThreadLocal的使用
代码如下:
public class Test {
public static class MyRunnable implements Runnable {
private ThreadLocal<String> threadLocal = new ThreadLocal<String>();
@Override
public void run() {
threadLocal.set(java.util.UUID.randomUUID().toString());
System.out.println(threadLocal.get());
}
}
public static void main(String[] args) {
MyRunnable runnableInstance = new MyRunnable();
Thread thread1 = new Thread(runnableInstance);
Thread thread2 = new Thread(runnableInstance);
thread1.start();
thread2.start();
}
}