package com.scu.tgm.thread;
/**
* Created by 6092002323 on 2018/7/30.
* ThreadLocal是每个线程专用的,只能存一个值
*/
public class TestKK {
private static ThreadLocal<UserDemo> flagThreadLocal=new ThreadLocal<>();
public static void main(String[] args) {
UserDemo userDemo=new UserDemo();
userDemo.setName("tgm");
Thread thread=new Thread(new Runnable() {
@Override
public void run() {
try {
flagThreadLocal.set(userDemo);
userDemo.setName("te");
System.out.println(flagThreadLocal.get().getName());//te
} finally {
//用完后需要删除掉,不然可能会有内存溢出
flagThreadLocal.remove();
}
}
});
thread.start();
System.out.println(flagThreadLocal.get().getName());//报空指针异常
}
}
class UserDemo {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
ThreadLocal线程简单介绍
猜你喜欢
转载自blog.csdn.net/CristianTang/article/details/81282484
今日推荐
周排行