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) {}
}
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。