您的位置:首页 > 编程语言 > Java开发

java学习——ThreadLocal 线程局部 (thread-local) 变量的使用

2011-11-23 11:26 676 查看
package com.hujl.thread;

import java.util.Random;
/**
* 线程之间局部变量共享数据
* @author Janrone
* @website http://hujl.sinaapp.com */
public class ThreadLocalDemo {

/**
* @param args
*/
//每个线程都保持对其线程局部变量副本的隐式引用
static ThreadLocal<Integer> share =new ThreadLocal<Integer>();
//static Integer share1 =0;

public static void main(String[] args) {
// TODO Auto-generated method stub
for(int i=1; i<= 2; i++){
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
int data=new Random().nextInt();
//share1=data;
share.set(data);
System.out.println(Thread.currentThread().getName()+"放入的数据:"+data);
new A().get();
new B().get();
}
}).start();
}
}

static class A{
public void get(){
int data=share.get();
//int data=share1;
System.out.println(Thread.currentThread().getName()+"得到的数据:"+data);
}
}

static class B {
public void get() {
int data=share.get();
//int data=share1;
System.out.println(Thread.currentThread().getName()+"得到的数据:"+data);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: