05_张孝祥_Java多线程_线程范围内共享变量的概念与作用
2017-12-16 13:28
615 查看
概念
可以将每个线程用到的数据与对应的线程号存放到一个map集合中,使用数据时从这个集合中根据线程号获取对应线程的数据,就可以实现线程范围内共享相同的变量。代码
Runnable中的run()方法里面执行Thread.currentThread()都会对应当前Runnable对应的线程,因此A、B中对应的Thread.currentThread()对应所在的Runnable对应的线程。package cn.itcast.heima2; import java.util.HashMap; import java.util.Map; import java.util.Random; public class ThreadScopeShareData { 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() { int data = new Random().nextInt(); System.out.println(Thread.currentThread().getName() + " has put data :" + data); threadData.put(Thread.currentThread(), data); new A().get(); new B().get(); } }).start(); } } static class A{ public void get(){ int data = threadData.get(Thread.currentThread()); System.out.println("A from " + Thread.currentThread().getName() + " get data :" + data); } } static class B{ public void get(){ int data = threadData.get(Thread.currentThread()); System.out.println("B from " + Thread.currentThread().getName() + " get data :" + data); } } }
参考
多线程05_张孝祥-共享变量的概念和作用相关文章推荐
- java多线程之线程范围内共享变量的概念与作用
- 【Java多线程与并发库】5.线程范围内共享变量的概念与作用
- 【Java多线程与并发库】05 线程范围内共享变量ThreadLocal
- 【Java多线程与并发库】5.线程范围内共享变量的概念与作用
- (4)传智播客_张孝祥_线程范围内共享变量的概念与作用
- 【张孝祥并发课程笔记】04:线程范围内共享变量的概念与作用
- 张孝祥java多线程视频笔记----线程范围内共享变量
- (4)传智播客_张孝祥_线程范围内共享变量的概念与作用
- Java多线程——线程范围内共享变量和ThreadLocal
- (三) Java多线程详解之线程范围内共享变量及ThreadLocal类使用
- 线程范围内共享变量的概念与作用
- 线程范围内共享变量的概念与作用
- 线程范围内共享变量的概念与作用
- java多线程:线程范围内共享变量(四)
- 线程范围内共享变量的概念与作用
- 多线程中范围内共享变量的概念与作用
- 线程范围内共享变量的概念与作用(五)
- 线程范围内共享变量的概念与作用
- 线程范围内共享变量的概念与作用演进方式
- 线程范围内共享变量的概念与作用