当前页面: 开发资料首页 → J2SE 专题 → 如何对使用单例模式的类进行同步?
如何对使用单例模式的类进行同步?
摘要: 如何对使用单例模式的类进行同步?
在servlet中需要调用这个类,类的功能是自动生成序列号,但是生成的序列号要根据当前用户的信息来生成,因此类中有一个对象保存用户的信息:
class tt
{
private static ExportDataToDatabase exInstance = null;
String user;
public static synchronized ExportDataToDatabase getInstance(){
if(exInstance == null){
return new ExportDataToDatabase();
}
return exInstance;
}
public procid()
{
^^^^^^
}
}
问题一:由于是单例模式,在前一个用户还没有使用完这个类的时候,第二个用户调用了这个类,那么user信息会变吗?
问题二:要想一个用户使用完了才允许其他用户使用,synchronized应该加在什么地方
问题三:servlet本身就是多线程的,在里面再加个synchronized会有问题吗?
你的代码已经实现了你要的要求。
详见《JAVA与模式》第15章。
public procid()
这个方法上面需要加上synchronized关键字