首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java兑现多线程范围内的数据共享

2012-10-07 
java实现多线程范围内的数据共享代码如下,比较坑爹,就是上一篇文章的hashmap改为了ThreadLocalpublic clas

java实现多线程范围内的数据共享

代码如下,比较坑爹,就是上一篇文章的hashmap改为了ThreadLocal

public class ThreadScopeShareData {/** * @param args *///private static HashMap<Thread, Integer> map = new HashMap<Thread, Integer>();private static ThreadLocal<Integer> threadLocal = new ThreadLocal<Integer>();public static void main(String[] args) {for(int i=0;i<2;i++){new Thread(new Runnable() {@Overridepublic void run() {int data = new Random().nextInt();System.out.println(Thread.currentThread() +" data is "+data);//map.put(Thread.currentThread(), data);threadLocal.set(data);new A().get();new B().get();}}).start();}}static class A{妹,希望你能理解public void get(){int data = threadLocal.get();//map.get(Thread.currentThread());System.out.println("A get data:" + data + " from " + Thread.currentThread().getName());}}static class B{public void get(){int data = threadLocal.get();//map.get(Thread.currentThread());System.out.println("B get data:" + data + " from " + Thread.currentThread().getName());}}}

热点排行