黑马程序员-银行调度系统

原创 2012年03月25日 18:38:56
---------------------- android培训java培训、期待与您交流! ----------------------

同过银行调度系统,让我认识到做为一个程序员也是要好好体验生活的。

号码发生器:

import java.util.ArrayList;
import java.util.List;




/**
 * 号码发生器
 * @author 李见黎
 *2012-3-25
 */


public class NumberManager {


private int lastNumber=1;
private List<Integer> queueList=new ArrayList<Integer>();  //面向接口编程

/**
* 多个涉及到了,就互斥,拆箱和装箱
* @return
*/
public synchronized Integer generateNewManager()
{
queueList.add(lastNumber);  //加入队列
return lastNumber++;
}
/**
* 取号的方法
*/

public Integer fetchServiceNumber()
{
Integer numberInteger=null;
if(queueList.size()>0)
numberInteger = queueList.remove(0);
return numberInteger;
}

}

号码管理器:





/**
 * 号码管理器
 * @author 李见黎
 *2012-3-25
 */
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()
{

}
/**
* 写出一个单例
*/
public static NumberMachine getInstance()
{
return instance;
}
private static NumberMachine instance=new NumberMachine();






}


主函数:

import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;


/**
 * 主函数
 * @author 李见黎
 *2012-3-25
 */
public class Main {


/**
* @param 主函数
*/
public static void main(String[] args) {


for(int i=1;i<5;i++)
{
ServiceWin commonWin=new ServiceWin();

commonWin.setWindowID(i);
commonWin.Start();
}

ServiceWin ExpressWin=new ServiceWin();
ExpressWin.setTyper(CustomerTyper.EXPRESS);
ExpressWin.Start();

ServiceWin VIPWin=new ServiceWin();
VIPWin.setTyper(CustomerTyper.VIP);
VIPWin.Start();



Executors.newScheduledThreadPool(1).scheduleAtFixedRate(
new Runnable() {

@Override
public void run() {
Integer numInteger=NumberMachine.getInstance().getCommonManager().generateNewManager();
System.out.println(numInteger+"号普通客户来了");

}
},
0,
Constants.COMMON_CUSTOMER_INTERVAL_TIME, 
TimeUnit.SECONDS);

Executors.newScheduledThreadPool(1).scheduleAtFixedRate(
new Runnable() {

@Override
public void run() {
Integer numInteger=NumberMachine.getInstance().getVipManager().generateNewManager();
System.out.println(numInteger+"号VIP客户来了");
}
},
0,
Constants.COMMON_CUSTOMER_INTERVAL_TIME*6, 
TimeUnit.SECONDS);

Executors.newScheduledThreadPool(1).scheduleAtFixedRate(
new Runnable() {

@Override
public void run() {
Integer numInteger=NumberMachine.getInstance().getVipManager().generateNewManager();
System.out.println(numInteger+"号快速户来了");
}
},
0,
Constants.COMMON_CUSTOMER_INTERVAL_TIME*2, 
TimeUnit.SECONDS);
}


}

---------------------- android培训java培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net/heima
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

《黑马程序员》 银行业务调度系统回顾总结

在做银行业务调度系统这个题目的时候,我们是需要了解一下银行业务办理的流程的:    通常情况下是这样的,我们去银行取钱的时候,需要先去取号机器上取号(就相当于我们站在服务窗口前排队一样,只是有了取号机...

黑马程序员——银行业务调度系统

------- android培训、java培训、期待与您交流! ---------- 个人小心得: 1.       面向对象思维:先不用考虑具体实现,而是应该先对项目进行需求分析,掘出并提...

黑马程序员_解读银行调度系统

------- android培训、java培训、期待与您交流! ---------- 银行业务调度系统 1)模拟实现银行业务调度系统逻辑,具体需求如下:  银行内有6个业务窗口,1 - 4号窗口为...

黑马程序员----银行业务调度系统

黑马程序与------Android培训------银行业务调度系统

黑马程序员——银行业务调度系统逻辑

---------------------- android培训、java培训、期待与您交流! ----------------------   银行业务调度逻辑,此问题稍微有复杂,需要根据实际情...

黑马程序员银行调度系统学习日记

---------------------- android培训、java培训、期待与您交流! ---------------------- 系统要求: 银行内有6个业务窗口,1 - 4号窗口为普...

黑马程序员——银行调度系统

------- android培训、java培训、期待与您交流! ----------            在刚看到银行调度系统的题目时,首先想到的就是多线程,因为这很像火车站卖票...

黑马程序员-银行业务调度系统(改进版)

---------------------- android培训、java培训、期待与您交流! ------------------------------- 附件为源码,因为只能上传图片格...

黑马程序员_银行业务调度系统

---------------------- android培训、java培训、期待与您交流! ---------------------- 需求如下: 银行内有6个业务窗口,1- 4号窗口为普通...

黑马程序员---银行业务调度系统-分析

银行业务调度系统 根据需求我们得到一个关系,银行客服--问-->取号器-->要号-->排队的第一个人--->服务窗口(是不断循环的) 顾客-->取号--->排队--->叫到号--->服务窗口(也是...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)