Boost.Interprocess ofrece los siguientes tipos de exclusión mutua:
#include <boost/interprocess/sync/interprocess_mutex.hpp>
interprocess_mutex: Un no-recursivo, mutex anónima que se pueden colocar en la memoria compartida o archivos de memoria mapeados.
#include <boost/interprocess/sync/interprocess_recursive_mutex.hpp>
interprocess_recursive_mutex: Un mutex recursivo, el anonimato que se puede colocar en la memoria o en la memoria compartida asignada archivos.
#include <boost/interprocess/sync/named_mutex.hpp>
named_mutex: Un no-recursivo, llamado mutex.
#include <boost/interprocess/sync/named_recursive_mutex.hpp>
named_recursive_mutex: Un recursiva, llamado mutex.
Sugiero usar el nombre mutex. Ver docs
¿Es necesario compartir la exclusión mutua entre los procesos? (Supongo que lo haces si estás preguntando por un mutex * nombrado *, pero será mejor que lo veas claro). ¿Y está usando Windows o Unix (el comportamiento como con lo que se creó podría ser diferente)? –
sí, necesito compartir entre procesos. El uso principal está en Win32, pero una solución portátil sería preferible, de ahí la pregunta de una solución de impulso. –