JAVA多线程模式-Immutable

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的主要内容,如果未能解决你的问题,请参考以下文章

多线程不可变对象设计模式immutable

多线程----Immutable VS Mutable (可变与不可变)

多线程----Immutable VS Mutable (可变与不可变)

Java的线程安全

java多线程其实本节和多线程无关,简单的模板设计模式

Java多线程——Lock&Condition