public void Run() { while (!Elevator.IsShuttingDown) { Thread.Sleep(RandomGenerator.Next(Interval)); PassengerQueue.GetOn(new Passenger()); } }
public void Run() { PassengerQueue.AddElevator(this); while (!IsShuttingDown) { Thread.Yield(); if (!IsWaiting) { continue; } State = GetDirectionFor(Nearest()); DoService(); } PassengerQueue.RemoveElevator(this); }