首页 > 代码库 > 03-05单例模式_方法调用
03-05单例模式_方法调用
方法调用
考虑一种日志情形。
有多个程序会调用一个 MyLog 类来生成日志对象。
日志对象实际上向某大型设备输出。
要求MyLog类使用单例模式,最多只能有两个实例。调用getInstance()获得一个实例。 每个实例有busy或free的状态,表示是否为空闲。假如所有实例都是busy的,则返回空指针。
class MyLog { private static MyLog a = new MyLog(); private static MyLog b = new MyLog(); private boolean busy; private MyLog(){ } public void use() { busy = true; } public void free() { busy = false; } public static MyLog getInstance() { if(a.busy==false) return a; if(b.busy==false) return b; return null; } } public class MyTest { public static void main(String[] args) { MyLog t1 = MyLog.getInstance(); t1.use(); MyLog t2 = MyLog.getInstance(); t2.use(); MyLog t3 = MyLog.getInstance(); System.out.println(t3); t2.free(); t3 = MyLog.getInstance(); System.out.println(t3); } }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。