银行业务调度系统的源码

来源:互联网 发布:office软件激活工具 编辑:程序博客网 时间:2024/05/26 22:06
package cn.lon.interview.bank;public class NumberMachine {private NumberManager commonManager = new NumberManager();private NumberManager expressManager = new NumberManager();private NumberManager vipManager = new NumberManager();public NumberManager getCommonManager() {return commonManager;}public NumberManager getExpressManager() {return expressManager;}public NumberManager getVipManager() {return vipManager;}private NumberMachine(){}private static NumberMachine instance=new NumberMachine();static NumberMachine getInstance(){return instance;}}
--------------------------------------------------------------------package cn.lon.interview.bank;import java.util.ArrayList;import java.util.List;public class NumberManager {private int lastNumber=1;private List<Integer> queueNumbers=new ArrayList<Integer>();public synchronized Integer generateNewNumber(){queueNumbers.add(lastNumber);return lastNumber++;}public synchronized Integer fetchServiceNumber(){if(queueNumbers.size()>0){return (Integer)queueNumbers.remove(0);}else{return null;}}}
--------------------------------------------------------------------------------------------------------------------------  
package cn.lon.interview.bank;public enum CustomerType {COMMON,EXPRESS,VIP;public String toString(){String name = null;switch(this){case COMMON:name = "普通";break;case EXPRESS:name = "快速";break;case VIP:name ="VIP";break;}return name;}}