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 VS Mutable (可变与不可变)