Шрифт:
Следующая пара функций управляет значением семафора и объявляется следующим образом.
Обе они принимают указатель на объект-семафор, инициализированный вызовом
Функция
Функция
Есть и другая функция семафора
Последняя функция семафоров —
И снова эта функция принимает указатель на семафор и очищает любые ресурсы, которые у него могли быть. Если вы попытаетесь уничтожить семафор, которого дожидается какой-либо поток, то получите ошибку.
Как и большинство других, функций, все перечисленные функции возвращают 0 в случае успешного завершения.
А теперь выполните упражнение 12.3.
Текст этой программы thread3.c также основан на тексте программы thread1.c. Поскольку изменения значительны, мы приводим новый вариант полностью.