线程范围内的数据共享
线程范围内使用自己独立的数据:
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);
}
}
}
这个编译有问题,需要调试问题