java代码银行业务调度系统的简单实现。

2025-05-10 00:53:19

程序实现银行业务调度系统:客户种类:普通,快速,VIP。窗口种类:4个普通窗口,1个快速窗口,1个VIP窗口。

java代码银行业务调度系统的简单实现。

2、创建一个类模拟银行职员叫号:我称之为取号器。package com.zyq.bank;/涯箨唁峦*** 取数模拟* @author zyq*时间:2016年11月25日下午10:43:41*忮氽阝另*/public class NumberMachine { //三种客户类别:普通客户 ,快速客户,vip客户 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(){} public static NumberMachine getInstance(){ return instance; } private static NumberMachine instance=new NumberMachine();}

java代码银行业务调度系统的简单实现。

4、创建一个常量类,方便时间记录。package com.zyq.bank;/*** 常量类*时间:2016年11月25日下午10:42:03**/public class Constants { public static int MIN_SERVICE_TIME=1000; public static int MAX_SERVICE_TIME=10000; public static int COMMON_CUSTOMER_INTERVIEW=1;}

java代码银行业务调度系统的简单实现。

测试代码类

1、写一个测试类来测试代艨位雅剖码的准确性。package com.zyq.bank;import java.util.concurrent.Executors;import java.util.concurrent.TimeUnit;/*** 测试类* @author zyq*时间:2016年11月25日下午11:48:37**/public class MainClass { public static void main(String[] args) { //产生4个普通窗口 for (int i = 1; i < 5; i++) { ServiceWindow commonWindow=new ServiceWindow(); commonWindow.setWindowId(i); commonWindow.star(); } //产生一个快速窗口 ServiceWindow expressWindow=new ServiceWindow(); expressWindow.setType(CustomerType.EXPRESS); expressWindow.star(); //产生一个VIP窗口 ServiceWindow vipWindow=new ServiceWindow(); vipWindow.setType(CustomerType.VIP); vipWindow.star(); //普通客户拿号 Executors.newScheduledThreadPool(1).scheduleAtFixedRate( new Runnable() { public void run() { Integer number=NumberMachine.getInstance().getCommonManager().generateNewNumber(); System.out.println(number+"号普通客户正在等待服务"); } }, 0, Constants.COMMON_CUSTOMER_INTERVIEW, TimeUnit.SECONDS ); //快速客户拿号 Executors.newScheduledThreadPool(1).scheduleAtFixedRate( new Runnable() { public void run() { Integer number=NumberMachine.getInstance().getExpressManager().generateNewNumber(); System.out.println(number+"号快速客户正在等待服务"); } }, 0, Constants.COMMON_CUSTOMER_INTERVIEW * 6, TimeUnit.SECONDS ); //VIP客户拿号 Executors.newScheduledThreadPool(1).scheduleAtFixedRate( new Runnable() { public void run() { Integer number=NumberMachine.getInstance().getVipManager().generateNewNumber(); System.out.println(number+"号VIP客户正在等待服务"); } }, 0, Constants.COMMON_CUSTOMER_INTERVIEW * 2, TimeUnit.SECONDS ); } }

java代码银行业务调度系统的简单实现。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢