我正在使用电梯仿真的设计。我有一个电梯控制器和一系列升降机。升降机在特定状态(例如STATIONARY,MOVING,DOORS_OPEN等)中移动。 - 在MOVING状态下,升降机过程将简单地休眠X毫秒。我目前主要关注电梯控制器过程和电梯过程集合之间的交互。另一个电梯(电梯)仿真建模问题
本质上,电梯控制器需要协调电梯,因此需要发出电梯请求并确定哪个电梯最适合服务该请求,然后通知该电梯。
我最初的想法是让每个电梯在楼层请求收据上移动通过各种状态,然后在电梯控制器完成移动到特定楼层后通知电梯控制器。然而,通过这样的设计,电梯控制器可以查询电梯以查看其附近的哪个楼层,对该电梯做出决定(即,停在下一层楼),但是当它告诉电梯停止时,电梯可能有移动过去的那一层(由于说网络点而延迟)。
为了避免这些类型的问题(电梯控制器根据过时信息做出决定),我想让电梯控制器负责将每个电梯的状态移动。通过这个模型,电梯控制器知道电梯处于什么状态,告诉它进行转换,然后知道后面会处于什么状态。因此,电梯控制器始终具有电梯正在执行的最新信息,其动作永远不会与各个电梯状态不同步。
人们对这种类型的方法有任何的担忧(线程,可伸缩性)吗?有没有更好的建模方法?思想欢迎!
为什么你想首先使用多线程?听起来像是不必要的复杂性,除非你真的需要表现。 – CodesInChaos 2011-05-29 21:20:19
多线程,因为这是它在实践中的工作方式 – 2011-05-30 06:36:32