多线程系列八-ThreadLocal
程序员文章站
2024-03-25 23:51:04
...
ThreadLocal
用于实现每个线程都有自己的共享变量。即隔离线程中的变量。
示例
public class ThreadLocalTest {
private static ThreadLocal threadLocal = new ThreadLocal();
private static class MythreadA extends Thread {
private Object object;
@Override
public void run() {
threadLocal.set(this.getName());
System.out.println(threadLocal.get());
}
}
public static void main(String[] args) throws InterruptedException {
MythreadA thread1=new MythreadA();
MythreadA thread2=new MythreadA();
thread1.start();
thread2.start();
}
}
输出:
Thread-0
Thread-1
注:默认返回null。
若不想默认返回null,可以创建自己的ThreadLocal,然后重写initialValue方法
InheritableThreadLocal
可以在子线程中取得父线程继承下来的值。
推荐阅读
-
Java多线程系列(二十二)Semaphore使用
-
多线程系列八-ThreadLocal
-
面试系列(六):多线程
-
ios - 多线程之八:GCD线程组
-
Struts2中的设计模式 -ThreadLocal模式 设计模式strutsthread多线程java
-
Struts2中的设计模式 -ThreadLocal模式 设计模式strutsthread多线程java
-
数据结构与算法实践系列文章(八)散列
-
Java总结篇系列:Java多线程 博客分类: JAVAJAVA 线程
-
数学之美系列八:贾里尼克的故事和现代语言处理 博客分类: 数学之美系列 贾里尼克现代语言处理
-
ThreadLocal详解 博客分类: Java多线程 ThreadLocal