Текущая версия boost::mutex
не использует ни Win32 CRITICAL_SECTION
, ни Win32 Mutex. Вместо этого он использует атомарные операции и событие Win32 для блокировки ожидания.
Более старые версии (boost 1.34.1 и более ранние) были оболочкой CRITICAL_SECTION
в Windows.
Кстати, сам мьютекс не ограничен. Тип boost::mutex::scoped_lock
и, в последних версиях, boost::lock_guard<boost::mutex>
и boost::unique_lock<boost::mutex>
предоставляют оболочки RAII для блокировки мьютекса, чтобы вы не забыли разблокировать его.
Шаблоны boost::lock_guard<>
и boost::unique_lock<>
работают с любым типом функций-членов lock()
и unlock()
, поэтому при желании их можно использовать с мьютексами между процессами.