будет находиться в приостанов
Автор admin Суббота, 27 июня 2009 11:32
будет находиться в приостановленном состоянии до тех пор, пока мутекс не станет доступным. Вызов wait() помещен в цикл while, проверяющий интересующее нас условие. Это важно по двум причинам2. • Не исключено, что при получении потоком сигнала от функции signal() изменилось другое условие, не связанное с вызовом wait(). В этом случае программный поток должен быть снова приостановлен до изменения нужного условия. • К моменту выхода потока из wait() может оказаться, что другая задача сделала нечто такое, из-за чего текущий поток не может или не хочет продолжить работу. В этом случае он также должен быть повторно приостановлен вызовом wait(). Эти две причины должны учитываться при любом вызове wait(), поэтому вызовы wait() всегда следует заключать в циклы while с проверкой интересующего вас условия. Функция waxOn::run() представляет первую стадию технологического процесса, поэтому она выполняет свою операцию (вызов sleep() имитирует время, необходимое для нанесения покрытия). Затем она сообщает объекту саг о завершении своей стадии и вызывает функцию waitForBuffing(), которая приостанавливает поток функцие
Комментарии закрыты.
Последние комментарии