ред возведением каркаса здания

Автор admin Суббота, 27 июня 2009 11:32

ред возведением каркаса здания, и т. д. Некоторые из этих этапов могут выполняться параллельно, но выполнение других становится возможным лишь после завершения всех предшествующих этапов. Ключевая роль в кооперации задач отводится согласованию их действий. Согласование осуществляется уже знакомыми средствами: те же мутексы в данном случае гарантируют, что на сигнал ответит только одна задача. Тем самым устраняются все возможные ситуации гонок. В дополнение к мутексам добавляются средства приостановки задачи до изменения некоторого внешнего состояния («завершение строительства фундамента»), которое указывает, что задача может вы-II. л пяться дальше. В настоящем разделе будут рассмотрены некоторые аспекты гласования задач, возникающие при этом проблемы и их решения. Функции wait() и signal() В библиотеку ZThreads входит класс Condition, упрощающий операции с мутекса-ми и приостановку задач. Задача приостанавливается вызовом wait() для объекта Condition. Когда в программе изменяется некоторое условие, позволяющее задаче продолжить работу, вы оповещаете об этом либо отдельную задачу вызовом функции signal()


Комментарии закрыты.