import java.util.HashMap;
import java.util.Map;
import java.util.Random;
public class ThreadScopeShareData2 {
private static int data = 0;
public static void main(String[] args) {
for(int i=0;i<2;i++){ //这里控制启动两条线程
new Thread(new Runnable(){ //创建Thread类对象, 将Runnable对象传入Thread的构造函数中
@Override
public void run() {
data = new Random().nextInt(); //伪随机地生成并返回一个 int 值
System.out.println(Thread.currentThread().getName() //获取线程名称
+ " has put data :" + data);
new A().get(); // 通过对象调用A类中的get()方法;
new B().get(); // 通过对象调用B类中的get()方法;
}
}).start(); //调用Thread对象的start()方法就可以开启一条新线程, 新线程中执行Runnable的run()方法
}
}
static class A{ //创建静态内部类A
public void get(){
System.out.println("A from " + Thread.currentThread().getName()
+ " get data :" + data);
}
}
static class B{ //创建静态内部类B
public void get(){
System.out.println("B from " + Thread.currentThread().getName()
+ " get data :" + data);
}
}
}
|