下文笔者讲述ThreadLocal的简介及使用场景简介说明,如下所示
ThreadLocal简介说明
ThreadLocal用于线程间数据隔离 ThreadLocal用于定义线程内部的变量,此变量只适用于线程本身 不在多线程之间共享 使用ThreadLocal也可实现线程安全
在一些源码读写中,我们经常看见ThreadLocal变量的使用,下文笔者将使用示例的方式讲述ThreadLocal的用法
ThreadLocal使用示例
public class ThreadLocaDemo {
private static ThreadLocal<String> localVar = new ThreadLocal<String>();
static void print(String str) {
//打印当前线程中本地内存中本地变量的值
System.out.println(str + " :" + localVar.get());
//清除本地内存中的本地变量
localVar.remove();
}
public static void main(String[] args) throws InterruptedException {
new Thread(new Runnable() {
public void run() {
ThreadLocaDemo.localVar.set("java265.com-1");
print("======1");
//打印本地变量
System.out.println("after remove : " + localVar.get());
}
},"A").start();
Thread.sleep(500);
new Thread(new Runnable() {
public void run() {
ThreadLocaDemo.localVar.set(""java265.com-2"");
print("======2");
System.out.println("after remove : " + localVar.get());
}
},"B").start();
}
}