线程范围内的共享和作用
2015-08-25 23:19
435 查看
import java.util.HashMap;
import java.util.Random;
//线程范围内的共享和作用
public class ThreadScopShareData {
private static Integer data = 0;
private static HashMap<Thread, Integer> map = 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);
map.put(Thread.currentThread(), data);
new A().get();
new B().get();
}
}).start();
}
}
static class A{
public void get(){
int data = map.get(Thread.currentThread());
System.out.println("A get "+Thread.currentThread().getName() + " data: " + data);
}
}
static class B{
public void get(){
int data = map.get(Thread.currentThread());
System.out.println("B get "+Thread.currentThread().getName() + " data: " + data);
}
}
}
import java.util.Random;
//线程范围内的共享和作用
public class ThreadScopShareData {
private static Integer data = 0;
private static HashMap<Thread, Integer> map = 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);
map.put(Thread.currentThread(), data);
new A().get();
new B().get();
}
}).start();
}
}
static class A{
public void get(){
int data = map.get(Thread.currentThread());
System.out.println("A get "+Thread.currentThread().getName() + " data: " + data);
}
}
static class B{
public void get(){
int data = map.get(Thread.currentThread());
System.out.println("B get "+Thread.currentThread().getName() + " data: " + data);
}
}
}
相关文章推荐
- insert all/first 使用与区别简介
- 非ARC下的内存释放
- python 设置linux环境变量
- Linux文件系统管理
- C++实现两个已经排序的链表进行合并
- Java中加载图片方法
- Java弱点
- Java中的Atomic包使用指南
- BeautifulSoup
- Instrction Arrangement (hdu 4109 差分约束)
- Groovy入门教程
- git clone permission denied(publickey)
- UITableView的registerClass forCellReuseIdentifier用法详解
- 脸识别API微软牛津项目
- 【转】僵尸进程和孤儿进程
- nginx+keepalived双主高可用负载均衡
- PinnedSectionListView(分组+可固定标题的ListView)
- Java Exception异常介绍
- PHPExcel导出mysql数据库数据
- NSScanner类的基本用法