Этот класс представляет собой переменную состояния, которая может быть размещена в общей памяти или картированных файлах памяти. Уничтожает объект типа std::condition_variable_any
В отличие от std::condition_variable в C++11, не безопасно вызывать деструктор, если все потоки были только уведомлены. Необходимо, чтобы они вышли из своих соответствующих функций ожидания.
interprocess_condition
public
construct/copy/destruct
Если есть нить, ожидающая этого, измените состояние этой нити на готовое. В противном случае эффекта нет.
voidNotify_all;
Измените состояние всех потоков, ожидающих *это готово. Если нет потоков ожидания, уведомить_all() не имеет никакого эффекта.
шаблон<имяL>пустотаожиданиеL&замок;
Отпускает блокировку на объектеinterprocess_mutex, связанном с блокировкой, блокирует текущий поток выполнения до тех пор, пока не будет подготовлен вызов на этот->notify_one() или этот->notify_all(), а затем вновь приобретает замок.
Отпускает блокировку на объектеinterprocess_mutex, связанном с блокировкой, блокирует текущий поток выполнения до тех пор, пока не будет подготовлен вызов к этому->notify_one() или этому->notify_all(), или пока не будет достигнуто время abs_time, а затем вновь приобретает замок. Возврат: ложный, если время abs_time достигнуто, в противном случае истинно.
замок,констбустерposix_time::ptime&abs_time,Prpred;[ То же самое, что: в то время как (!pred()) {, если (!timed_wait(lock, abs_time)) вернуть pred(); } вернуть истинно;
Статья Class interprocess_condition раздела The Boost C++ Libraries BoostBook Documentation Subset Indexes and Reference может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.