JAVA多线程五(ThreadLocal)

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();
    }
}

猜你喜欢

转载自blog.csdn.net/xiaolicd/article/details/81508732