线程范围内的数据共享

线程范围内使用自己独立的数据:

import  java.util.Random;
public  class  ThreadScopeShareData
{
private  static  int  data=0;
private  static  Map<Thread,Integer>  threadData=new  HashMap<Thread,Integer>();
public   static  void  main(String[]  args){
for(int i=0;i<2;i++){
new  Thread(new  Runnable(){
@Override
public  void  run()
{
data=new  Random().nextInt();
System.out.println(Thread.currentThread().getName()+"has  put  data:"+data);
thradData.put(Thread.currentThread(),data);
new A().get();
new B().get();
}
}).start();
}
}


static  class  A
{
public  void  get()
{
int  data=thradData.get(Thread.currentThread());
System.out.println("A  from:"+Thread.currentThread().getName()+"get  data:"+data);
}
}

static  class  B
{
public  void get()
{
int  data=thradData.get(Thread.currentThread());
System.out.println("B  from:"+Thread.currentThread().getName()+"get  data:"+data);
}
}
}

 

这个编译有问题,需要调试问题

posted on 2012-01-25 23:56  平安夜  阅读(294)  评论(0编辑  收藏  举报