package com.gzhs.zsd.thread;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
/***
-
线程内共享数据
-
@author 谢泽鹏
-
@version 1.0
*/
public class Traditional_ShareData {//线程数据
private static int data = 0;
//静态Map
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);
//存放线程数据
threadData.put(Thread.currentThread(), data);
//A模块拿数据
new A().get();
//B模块拿数据
new B().get();
}
}).start();
}
}//A模块
static class A{
public void get(){
//获取数据
int data = threadData.get(Thread.currentThread());
System.out.println(“A from " + Thread.currentThread().getName() + " get data :” + data);
}
}//B模块
static class B{
public void get(){
//获取数据
int data = threadData.get(Thread.currentThread());
System.out.println(“B from " + Thread.currentThread().getName() + " get data :” + data);
}
}
}