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);
}
}
}
java学习——ThreadLocal 线程局部 (thread-local) 变量的使用
最新推荐文章于 2025-06-20 13:58:57 发布