事件驱动的模拟(event-driven-simulation)在排队中的运用

这在里模拟的是一个银行排队系统。该模拟要考虑两类事件:

* 到达事件:这些事件指示新客户到达银行,输入文件指定到达事件发生的时间。这属于外部事件。当客户到达银行时,将发生两件事情之一:若客户到来时出纳员空闲,则客服入队,直接开始办理业务,若出纳员正在办理业务,则新客户必须排在队尾,等候服务。

* 离开事件:这些事件指示客户在办理业务后离开银行。该模拟确定离开事件发生的事件,这属于内部事件(internal event)当客户完成业务时,随即离开,队列的下一个人(若有)开始办理。

list链表用于存储客户依次到达或者离开的顺序。其项包含到达事件 交易事件及离开时间等信息。queue用于表示当前已达到,正在接受或准备接受服务的客户队列。

异常类:


表示队列和链表item信息的节点类:


list链表类


queue队列类:

事件驱动模拟类:


用于测试的main函数





你可能感兴趣的:(event)