java 多线程 day05 线程范围内的数据共享
2017-12-03 21:55
405 查看
import java.util.HashMap; import java.util.Map; import java.util.Random; /** * Created by chengtao on 17/12/3. * 线程范围内的数据共享:即模块从不同的线程获取到的值是不一样的 * 可以通过 hashMap<thread,data> 来将线程和对应的值通过map来区分 */ public class Thread0501_ThreadScopeShareData { private static int data = 0; public static void main(String[] args) { for(int i=0;i<2;i++){ new Thread(new Runnable(){ public void run() { data = new Random().nextInt(); System.out.println(Thread.currentThread().getName() + " has put data :" + data); new A().get(); new B().get(); } }).start(); } } static class A{ public void get(){ System.out.println("A from " + Thread.currentThread().getName() + " get data :" + data); } } static class B{ public void get(){ System.out.println("B from " + Thread.currentThread().getName() + " get data :" + data); } } } ---------------------------- ---------------------------- ----------------------------
import java.util.HashMap; import java.util.Map; import java.util.Random; /** * Created by chengtao on 17/12/3. * 线程间的数据共享 */ public class Thread0502_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(){ 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); } } }
相关文章推荐
- ThreadLocal实现:java线程范围内的共享数据,线程外独立
- Java基础——线程范围内的共享数据概念和作用
- java多线程:5、线程范围内的数据共享_ThreadLocal
- Java线程范围内的共享数据(2)
- java线程范围内的数据共享
- 【java并发】线程范围内共享数据
- Java基础:多线程之线程范围内的数据共享ThreadLocal
- java多线程与线程并发四:线程范围内的共享数据
- 黑马程序员---java中如何实现线程范围内共享数据
- Java死锁和线程范围内共享数据
- Java基础——ThreadLocal实现线程范围内的数据共享
- java多线程学习(三)---线程范围内数据共享
- Java线程与并发库高级应用-线程范围内共享数据ThreadLocal类
- Java高并发编程:线程范围内共享数据
- Java中如何实现单个线程范围内的数据共享
- Java基础加强 线程范围内数据共享设计模式
- Java并发05---线程范围内的共享数据
- java-线程-用ThreadLocal类实现线程范围内的数据共享
- java高级之线程范围内的共享数据
- Java并发库(五、六、七):线程范围内共享数据、ThreadLocal、共享数据的三种方法