publicclassTestSingletonSynchronizedimplementsjava.lang.Runnable{
Threadthread;
publicstaticvoidmain(Stringargs[]){
TestSingletonSynchronizedt=newTestSingletonSynchronized();
}
publicTestSingletonSynchronized(){
SynchronizedDatadatabase=SynchronizedData.getInstance("products");
thread=newThread(this,"second");
thread.start();
System.out.println("Thisisthe"+database.getName()+"database.");
}
publicvoidrun(){
SynchronizedDatadatabase=SynchronizedData
.getInstance("employees");
System.out.println("Thisisthe"+database.getName()+"database.");
}
}
classSynchronizedData{
privatestaticSynchronizedDatasingleObject;
privateintrecord;
privateStringname;
privateSynchronizedData(Stringn){
name=n;
record=0;
}
publicstaticsynchronizedSynchronizedDatagetInstance(Stringn){
if(singleObject==null){
singleObject=newSynchronizedData(n);
}
returnsingleObject;
}
publicvoidedit(Stringoperation){
System.out.println("Performinga"+operation+"operationonrecord"
+record+"indatabase"+name);
}
publicStringgetName(){
returnname;
}
}
java 同步Singleton模式
最新推荐文章于 2016-07-20 23:48:19 发布