线程范围内共享变量
Posted zhangyugeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线程范围内共享变量相关的知识,希望对你有一定的参考价值。
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
public class ThreadDemo2 {
static int data = 0; //定义一个数据
static Map<Thread, Integer> map=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 = (int) Math.random() * 10;
int data =new Random().nextInt();
map.put(Thread.currentThread(), data);
System.out.println(Thread.currentThread().getName() + " data:" + data);
new a().get();
new b().get();
}
}).start();
}
}
static class a {
public void get() {
int data=map.get(Thread.currentThread());
System.out.println(Thread.currentThread().getName() + " a data:" + data);
}
}
static class b {
public void get() {
int data=map.get(Thread.currentThread());
System.out.println(Thread.currentThread().getName() + " b data:" + data);
}
}
}
以上是关于线程范围内共享变量的主要内容,如果未能解决你的问题,请参考以下文章
(黑马Java多线程与并发库高级应用)05 线程范围内共享变量的概念与作用