什么是ThreadLocal

ThreadLocal 是 Java 中的一个类,它允许我们在多线程环境下,为每个线程创建独立的变量副本。

简单来说,ThreadLocal 可以用来在每个线程中存储和获取数据,而不会受到其他线程的干扰。这在某些情况下非常有用,例如在多线程的 web 应用程序中,每个线程需要访问和操作自己的数据副本,而不会影响其他线程。

使用 ThreadLocal,我们可以通过调用其 set() 方法在当前线程中设置一个值,然后通过 get() 方法来获取该值。每个线程都有自己的独立副本,互不干扰。

public class ThreadLocalExample {
    private static ThreadLocal<String> threadLocal = new ThreadLocal<>();

    public static void main(String[] args) {
        Thread t1 = new Thread(() -> {
            threadLocal.set("Value set in Thread 1");
            System.out.println("Thread 1: " + threadLocal.get());
        });

        Thread t2 = new Thread(() -> {
            threadLocal.set("Value set in Thread 2");
            System.out.println("Thread 2: " + threadLocal.get());
        });

        t1.start();
        t2.start();
    }
}

运行上述代码,你会看到输出结果类似于:
Thread 1: Value set in Thread 1
Thread 2: Value set in Thread 2
这表明每个线程都可以独立地设置和获取自己的值,而不会相互干扰。

你可能感兴趣的:(java基础,java,开发语言)