首页 > 代码库 > JAVA多线程(四)模式-Immutable

JAVA多线程(四)模式-Immutable

  • Immutable

    • 多线程共享一个资源,该资源本身是不可变的,所以可以被安全的共享。

    • 适用环境

      • 共享不需要动态变更的资源的时候,比如一些固定的计算参数。

    • 样例

      • 邮递员看门牌号:一群邮递员看一个门牌号。

    • 门牌号

    • 					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

JAVA多线程(四)模式-Immutable