и приостанавливается вызовом w
Автор admin Среда, 1 июля 2009 11:32
и приостанавливается вызовом waitUntilWorkFinished(). После завершения сборки Director извлекает объект Саг из монтажного стенда и помещает его в очередь finishingQueue. Объект Cradle занимает центральное место в системе сигналов. Объекты Mutex и Condition управляют как работой роботов, так и передачей информации о завершении всех операций. Робот некоторого типа предлагает свои услуги объекту Cradle, вызывая соответствующую функцию offer. Далее программный поток робота приостанавливается до момента, когда объект Director вызовет startWork(). При этом сбрасываются флаги занятости, а вызов broadcast() приказывает всем роботам явиться для получения задания. Хотя эта система позволяет любому количеству роботов предложить свои услуги, она приводит к приостановке программного потока каждого из роботов. Можно представить более совершенную систему, в которой роботы регистрируются в разных объектах Cradle без приостановки, а в свободное время находятся в общем пуле и ожидают первый объект Cradle, у которого появится работа. Завершив свою задачу (с изменением состояния Саг), робот вызывает функцию taskFinished(),
Комментарии закрыты.
Последние комментарии