您的位置:首页 > 其它

设计模式中的单例设计如果一个实例不够用呢?

2011-12-31 16:50 204 查看
单例模式主要就是为了节约资源,如果不够用呢?需要2个或者3个实列或者需要配置的几个才够用呢?

可以使用缓存嘛,缓存数据的容易(一般来说都是集合)

代码:

/**这里假设需要控制产生3个实例,实例个数可以通过配置文件配置,这里不再累赘
关于多线程可以同步方法,同步代码块和手动加锁,解锁来控制(不累赘)
*/
public class ThreeInstance{
private ThreeInstance(){}
private static Map map=new HashMap();
//记录正在使用的实例为初始的第一个
private static int num=1;
//可以产生的实例总算为3(具体多少可以通过配置文件来读取)
private static int count=3;
public static ThreeInstancegetInstance(){
ThreeInstance s=(ThreeInstance)map.get(num);
if(s==null){
s=new ThreeInstance();
map.put(num, s);
}
//每调用一次+1
num++;
if(num>count){
num=1;
}
return s;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐