pted()) { // Блокировка до поя
Автор admin Среда, 1 июля 2009 11:32
pted()) { // Блокировка до появления рамы: cradle->insertCar(chassi sQueue->get()); // Оповещение роботов о наличии работы: cradle->startWork(): // Ожидание завершения работы cradle->waitUntilWorkFinished(); // Включение машины в очередь для продолжения работы fini shi ngQueue->put(cradle->getCar()): } } catch(Interrupted_Exception&) { /* Выход */ } cout « “Director off” « endl; } }: class EngineRobot : public Runnable { CradlePtr cradle: public: EngineRobot(CradlePtr cr) : cradle(cr) {} void run() { try { while(IThread::interrupted()) { // Блокировка до предложения/принятия задачи: cradle->offerEngineBotServices(); cout « “Installing engine” « endl; (*cradle)->addEngine(); cradle->taskFinished(); } } catch(Interrupted_Exception&) { /* Exit */ } cout « “EngineRobot off” « endl: } }: class DriveTrainRobot : public Runnable { CradlePtr cradle: public: DriveTrainRobot(CradlePtr cr) : cradle(cr) {} void run() { try { while(IThread::interrupted()) { // Блокировка до предложения/принятия задачи: cradle->offerDriveTrainBotServices(); cout « “Installing DriveTrain” « endl: (*cradle)->addDriveTrain(); cradle->ta
Комментарии закрыты.
Последние комментарии