张孝祥java多线程视频笔记----线程范围内共享变量
2013-08-19 19:29
337 查看
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
//线程范围内的共享变量
/*线程范围内的共享变量
* 作用:线程范围内的共享变量是指对同一个变量,几个线程同时对它进行写和读操作,
* 而同一个线程读到的数据就是它自己写进去的数据。
*/
public class Test5 {
// 内部类需要访问外部类的局部变量,则必须使用final或者static修饰
private static Map<Thread,Integer> map=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()+data);
map.put(Thread.currentThread(), data);
new A().get();
new B().get();
}
}).start();
}
static class A{
public void get(){
System.out.println(Thread.currentThread().getName()+": "+map.get(Thread.currentThread()));
}
}
static class B{
public void get(){
System.out.println(Thread.currentThread().getName()+": "+map.get(Thread.currentThread()));
}
}
}
import java.util.Map;
import java.util.Random;
//线程范围内的共享变量
/*线程范围内的共享变量
* 作用:线程范围内的共享变量是指对同一个变量,几个线程同时对它进行写和读操作,
* 而同一个线程读到的数据就是它自己写进去的数据。
*/
public class Test5 {
// 内部类需要访问外部类的局部变量,则必须使用final或者static修饰
private static Map<Thread,Integer> map=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()+data);
map.put(Thread.currentThread(), data);
new A().get();
new B().get();
}
}).start();
}
static class A{
public void get(){
System.out.println(Thread.currentThread().getName()+": "+map.get(Thread.currentThread()));
}
}
static class B{
public void get(){
System.out.println(Thread.currentThread().getName()+": "+map.get(Thread.currentThread()));
}
}
}
相关文章推荐
- 05_张孝祥_Java多线程_线程范围内共享变量的概念与作用
- 张孝祥[致敬]-多线程学习第05课-线程范围内的共享变量
- Java多线程——线程范围内共享变量和ThreadLocal
- 【张孝祥并发课程笔记】04:线程范围内共享变量的概念与作用
- java并发-多线程之线程范围内共享变量(5)
- 【Java多线程与并发库】05 线程范围内共享变量ThreadLocal
- (三) Java多线程详解之线程范围内共享变量及ThreadLocal类使用
- java多线程:线程范围内共享变量(四)
- java多线程之线程范围内共享变量的概念与作用
- 张孝祥实现线程范围内数据共享(学习笔记)
- 张孝祥ThreadLocal实现线程范围内共享变量(学习笔记)
- 六:java中线程范围内共享变量--ThreadLocal
- JAVA笔记14__多线程共享数据(同步)/ 线程死锁 / 生产者与消费者应用案例 / 线程池
- Java张孝祥视频 学习笔记 多线程
- 黑马程序员——Java基础---线程的另一个总结(4)--线程通信(互斥),线程范围的共享变量
- java多线程范围内的共享变量
- 五:java中线程范围内共享变量--Map实现
- Java基础:多线程之线程范围内的数据共享ThreadLocal
- Java线程总结(四):ThreadLocal实现线程范围的共享变量
- 【Java多线程与并发库】5.线程范围内共享变量的概念与作用