Семафор с глобальным названием, поэтому его можно найти из разных процессов. Позволяет использовать несколько моделей совместного использования ресурсов и эффективные механизмы признания.
Открывает или создает глобальный семафор с именем и начальным счетом. Если семафор создан, этот призыв эквивалентен<named_semaphore><create_only_t>, ... Если семафор уже создан, этот вызов эквивалентен<named_semaphore><open_only_t>, ..., и первоначальный счет игнорируется.
Открывает глобальный семафор с именем, если этот семафор был ранее. созданный. Если раньше не создавалась эта функция бросает<interprocess_exception>.
<
~named_semaphore();
>
Уничтожает *это и указывает, что процесс вызова завершается с помощью ресурса. Функция разрушителя будет распределять любые системные ресурсы, выделенные системой для использования этим процессом для этого ресурса. Ресурс еще можно открыть, назвав открытую конструкторскую перегрузку. Для стирания ресурса из системы используйте удалите().
named_semaphore public member functions
<
voidpost();
>
Увеличивает количество семафоров. Если в ожидании семафора заблокированы процессы/потоки, то один из этих процессов успешно вернется из своей функции ожидания. Если есть ошибка, то делается исключение<interprocess_exception>.
<
voidwait();
>
Семафор уменьшается. Если значение семафора не больше нуля, то процесс вызова/потока блокирует, пока он не сможет уменьшить счетчик. Если есть ошибка, то делается исключение<interprocess_exception>.
<
booltry_wait();
>
Уменьшает семафор, если значение семафора больше нуля и возвращается истинным. Если значение не больше нуля, то возврат ложный. Если есть ошибка, то<interprocess_exception>исключено.
Уменьшает семафор, если значение семафора больше нуля и возвращается истинным. В противном случае, ждет семафор к размещенному или тайм-аут истекает. Если тайм-аут истекает, функция возвращается ложной. Если семафор размещен, функция возвращается истинной. Если есть ошибка бросает сем_исключение
named_semaphore public static functions
<
staticboolremove(constchar*name);
>
Уничтожает из системы именуемый семафор. Возврат ложных ошибок. Никогда не бросай.
Статья Class named_semaphore раздела The Boost C++ Libraries BoostBook Documentation Subset Indexes and Reference может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.