public class ThreadLocalTest {
public static void main(String[] args) throws InterruptedException {
for(int i=0;i<10;i++)
{
ThreadT t=new ThreadT();
t.start();
}
}
}
class ThreadT extends Thread
{
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
Student s=ThreadLocalStudent.local.get();
s.name=this.getId()+"";
ThreadLocalStudent.local.set(s);//设置本线程对应的Student类对象的属性值
System.out.println(ThreadLocalStudent.local.get().getName() +" "+ThreadLocalStudent.local.get().getPwd());
ThreadLocalStudent.local.remove();//删除本线程对相应的Student对象
}
}
class ThreadLocalStudent
{
public static final ThreadLocal<Student> local=new ThreadLocal<Student>(){
protected Student initialValue() {// 如果当前线程没有设置Student的值,返回默认设置的Student
Student s=new Student();
s.setName("xx");
s.setPwd("xx");
return s;
};
};
}
class Student {
String name;
String pwd;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
ThreadLocal简单举例
最新推荐文章于 2024-01-24 19:32:28 发布