и signal() теперь выполняются
Автор admin Среда, 1 июля 2009 11:32
и signal() теперь выполняются в TQueue. В новой версии классы Runnable не содержат объекты Mutex и Condition. Во-вторых, в программе исчезла связь между классами, потому что каждый класс взаимодействует только со своим контейнером TQueue. Порядок определения классов теперь не имеет значения. Сокращение объема кода и смягчение привязки всегда приветствуются. Из этого можно сделать вывод, что применение контейнера TQueue дает положительный эффект, как и в большинстве подобных задач. Функция broadcast^) Функция signal() активизирует один программный поток, находящийся в ожидании объекта Condition. Тем не менее, одного объекта могут дожидаться сразу несколько потоков, и в этом случае для их активизации лучше воспользоваться функцией broadcast() вместо signal(). В следующей программе объединены многие концепции, с которыми мы познакомились в этой главе. Рассмотрим гипотетическую автоматизированную линию сборки автомобилей. Объект Саг строится в несколько этапов. В примере мы ограничимся одним этапом: когда на готовой раме закрепляются двигатель, трансмиссия и колеса. Объекты Саг передаются из одного места в
Комментарии закрыты.
Последние комментарии