利用ThreadLocal类 实现以下功能
写一个类,使得该类在创建对象后,满足 同一个线程在不同模块下还是同一个对象
class zhu
{
private static ThreadLocal <zhu> tl=new ThreadLocal();
private zhu(){};
private static zhu zhu1=null;
public static zhu getInstance()
{
zhu1=tl.get();
if(zhu1==null)
{
zhu1=new zhu();
tl.set(zhu1);
}
return zhu1;
}
}
public class shujugongxiang {
public static void main(String[]args)
{
for(int i=1;i<=2;i++)
{
new Thread(new Runnable()
{
public void run()
{
Thread b=Thread.currentThread();
zhu bba=zhu.getInstance();
System.out.println(b.getName()+"对应的是"+bba);
A aa=new A();
aa.zhuyao();
B bb=new B();
bb.zhuyao();
}
}).start();
}
}
static class A
{
public void zhuyao()
{
zhu a=zhu.getInstance();
System.out.println("from A"+Thread.currentThread().getName()+"实例是"+a);
}
}
static class B
{
public void zhuyao()
{
zhu a=zhu.getInstance();
System.out.println("from B"+Thread.currentThread().getName()+"实例是"+a);
}
}
}