多例模式
来源:互联网 发布:淘宝老店可以删差评吗 编辑:程序博客网 时间:2024/05/23 13:03
import java.util.Date;
import java.util.HashMap;
public class MultiClass {
private int state = 0;
private String name;
private static HashMap<MultiClassName.SERVERNAME,MultiClass> multiClassList =
new HashMap<MultiClassName.SERVERNAME, MultiClass>();
private MultiClass(String name){
this.name = name;
}
//初始化服务器实例map
static{
for(MultiClassName.SERVERNAME name:MultiClassName.SERVERNAME.values()){
multiClassList.put(name, new MultiClass(name.toString()));
}
}
public static MultiClass getInstance(MultiClassName.SERVERNAME serverName){
return multiClassList.get(serverName);
}
public synchronized void setState(int state){
this.state = state;
try {
Thread.sleep(1500);
} catch (InterruptedException e) {}
}
public synchronized void getState(){
System.out.println("instanceName:"+name+";state:"+state);
System.out.println(new Date().getSeconds());
try {
Thread.sleep(2500);
} catch (InterruptedException e) {}
}
public static void main(String[]args){
Thread1 thread1 = new Thread1();
Thread2 thread2 = new Thread2();
thread1.start();
thread2.start();
}
}
public class MultiClassName {
public static enum SERVERNAME{
SERVER1,SERVER2,SERVER3
}
}
public class Thread1 extends Thread{
@Override
public void run(){
while(true){
MultiClass multiClass = MultiClass.getInstance(MultiClassName.SERVERNAME.SERVER1);
multiClass.getState();
try {
sleep(1000);
} catch (InterruptedException e) {}
}
}
}
public class Thread2 extends Thread{
@Override
public void run(){
int state = 0;
while(true){
state++;
MultiClass multiClass = MultiClass.getInstance(MultiClassName.SERVERNAME.SERVER1);
multiClass.setState(state);
try {
sleep(1000);
} catch (InterruptedException e) {}
}
}
}
- 设计模式--多例模式
- 设计模式-多例模式
- 设计模式------多例模式
- [设计模式] 多例模式与单例模式区别
- 设计模式-单例模式和多例模式
- 故事会-设计模式-单例模式/多例模式
- 单例模式与多例模式
- 单例模式与多例模式
- 单例模式和多例模式
- 单例模式和多例模式
- 单例模式与多例模式
- Java单例模式、多例模式
- 单例、多例模式&&工厂模式
- 单例模式&多例模式
- java与模式 多例模式 multiton
- 设计模式-多例模式(Multiton Pattern)
- 设计模式之---多例模式
- 学点设计模式-多例模式
- 【手把手教你做智能车】第四节-MCG模块设置单片机的各个时钟
- OGNL表达式
- 运营商互联网业务的生与养之困!
- SQL中declare变量的作用域
- android自定义title的方法
- 多例模式
- Unity3d NGUI的使用(一)(插件参数说明及使用)
- 用户管理的基于时间点的恢复
- Hduoj1267 【数学】【水题】
- leetcode - Search Insert Position
- 《C#入门经典》学习笔记(集合、比较和转换)
- uva170-Clock patience
- unity3d android多渠道打包(一)
- Brave Game(杭电1846)