日期:2014-05-18  浏览次数:20710 次

模拟电梯当前电流量,高手来指点下
假设有6部电梯,电梯有启动、运行、停止3个状态,启动。运行的电流不同,停止当然没有电流
我现在想写个电梯类,属性有电梯编号、电梯状态,中途到达楼层的数组,(例如:电梯从1-5楼,但是第3楼有其他人要到4楼,所有电梯,到达楼层数组应该是1-3-4-5,)电梯运行一层楼所需要的时间,电梯最初前所在楼层,最初启动时间
我再写线程模拟电梯运行情况,期间的运行情况随机设定(这个我有自己的想法)
关键我想不明白的是我写线程每秒去读取每个电梯当前时刻的电流(根据当前状态判断电量),就要保证在同一时刻读取6个线程电梯的当前状态,这个怎么去解决,避免读取的数据是6个不同的时刻的状态

------解决方案--------------------
用共享数据,就是全局变量,需要解决 线程同步 的问题,可以用锁,保证共享数据同一时刻只被一个线程处理.
同时你还要有时钟,控制好访问时间段和频率.

简单点的可以把数据存到数据库,需要的时候从数据库表中取就行.