多线程共享一个资源,该资源本身是不可变的,所以可以被安全的共享。
共享不需要动态变更的资源的时候,比如一些固定的计算参数。
邮递员看门牌号:一群邮递员看一个门牌号。
package Immutable;
public class HouseNumber {
private final String number="12345678";
public String getNumber(){
return this.number;
}
} package Immutable;
public class Messager implements Runnable {
private HouseNumber number=null;
private String myName=null;
public Messager(String name,HouseNumber number){
this.myName=name;
this.number=number;
}
@Override
public void run() {
while(true){
System.out.println(this.myName+":"+this.number.getNumber());
}
}
} package Immutable;
public class Test {
public static void main(String[] args) {
HouseNumber hn=new HouseNumber();
Messager m1=new Messager("m1",hn);
Messager m2=new Messager("m2",hn);
Messager m3=new Messager("m3",hn);
Thread t1=new Thread(m1);
Thread t2=new Thread(m2);
Thread t3=new Thread(m3);
t1.start();
t2.start();
t3.start();
}
}本文出自 “JAVA技术栈笔记” 博客,请务必保留此出处http://stroll.blog.51cto.com/11038467/1855348
原文地址:http://stroll.blog.51cto.com/11038467/1855348