关闭

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

标签: integerclassimportandroidjavastring
320人阅读 评论(1) 收藏 举报
分类:
---------------------- 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
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5031次
    • 积分:156
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    文章分类
    文章存档