Шарабельный мутекс с глобальным названием, поэтому его можно найти из разных процессов. Этот мутекс не может быть помещен в общую память, и каждый процесс должен иметь свой собственный мутекс.
named_sharable_mutex
public
construct/copy/destruct
Открывает глобальный шарабельный мутекс с именем, если этот шарабельный мутекс был ранее. созданный. Если эта функция не была создана ранее, она бросает интерпроцесс_исключение.
~named_sharable_mutex();
Уничтожает это и указывает, что процесс вызова завершается с использованием ресурса. Функция разрушителя будет распределять любые системные ресурсы, выделенные системой для использования этим процессом для этого ресурса. Ресурс еще можно открыть, назвав открытую конструкторскую перегрузку. Для стирания ресурса из системы используйте удалите().
named_sharable_mutex public member functions
voidlock();
Последствия: Вызывающая нить пытается получить эксклюзивное право собственности на мутекс, и если другая нить имеет эксклюзивное или совместное право собственности на мутекс, она ждет, пока не сможет получить право собственности. Броски: interprocess_ Exception по ошибке.
booltry_lock();
Последствия: Вызывающая нить пытается приобрести эксклюзивное право собственности на mutex без ожидания. Если ни одна другая нить не имеет эксклюзивного или съемного права собственности на mutex, это удается. Возвращение: Если он может приобрести эксклюзивное право собственности сразу же возвращается. Если придется подождать, верните ложную информацию. Броски: interprocess_ Exception по ошибке.
Последствия: Вызывающая нить пытается приобрести эксклюзивное право собственности на mutex до тех пор, пока не будет достигнута эксклюзивная или сельскохозяйственная собственность на mutex или abs_time. Возвращение: Если приобретается исключительное право собственности, возвращается правда. В противном случае возврат ложный. Броски: interprocess_ Exception по ошибке.
voidunlock();
Предварительное условие: резьба должна иметь исключительное право собственности на mutex. Эффекты: вызывающая нить освобождает исключительное право собственности на mutex. Броски: Исключение, полученное из interprocess_ Exception по ошибке.
voidlock_sharable();
Последствия: Вызывающая нить пытается получить съемное право собственности на мутекс, и если другая нить имеет исключительное право собственности на мутекс, ждет, пока она сможет получить право собственности. Броски: interprocess_ Exception по ошибке.
booltry_lock_sharable();
Последствия: Вызывающая нить пытается приобрести съемное право собственности на mutex без ожидания. Если ни одна другая нить не имеет исключительного права собственности на mutex, это удается. Возвращение: Если он может приобрести сельскохозяйственную собственность, немедленно возвращается правда. Если придется подождать, верните ложную информацию. Броски: interprocess_ Exception по ошибке.
Последствия: Вызывающая нить пытается приобрести съемное право собственности на mutex, ожидая при необходимости, пока не будет достигнута эксклюзивная собственность на mutex или abs_time. Возвращение: Если приобретается сельскохозяйственная собственность, возвращается правда. В противном случае возврат ложный. Броски: interprocess_ Exception по ошибке.
voidunlock_sharable();
Предпосылка: резьба должна иметь сшарное владение mutex. Эффекты: вызывающая нить освобождает съедобное владение мутексом. Броски: Исключение, полученное из interprocess_ Exception по ошибке.
named_sharable_mutex public static functions
staticboolremove(constchar name);
Извлекает из системы именуемый шарнирный мутекс. Возврат ложных ошибок. Никогда не бросай.
Статья Class named_sharable_mutex раздела The Boost C++ Libraries BoostBook Documentation Subset Indexes and Reference может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.