Я работаю над проектом, который использует boost::interprocess_mutex
es повсюду, даже несмотря на то, что приложение никогда не было fork()
s детьми, но в значительной степени полагается на многопоточность.boost :: interprocess_mutex vs process local boost :: mutex
Правильно ли считать, что все эти interprocess_mutex
es могут быть заменены на локальные мьютексы процесса, не нарушая ничего?
Является ли мое предположение, что это потенциально может повысить производительность (хотя бы с минимальным коэффициентом) правильно?
Есть ли какая-либо возможная причина для использования межпроцессной синхронизации в рамках одного (необязательно многопоточного) процесса?
Использует ли он общую память? и является ли это память, используемая несколькими приложениями? Это тест - он не должен развиваться, могут существовать разные базы кода (отдельные исполняемые файлы), разделяющие некоторый ресурс. (Но если не тогда, я бы *** догадался ***, что вы могли бы использовать обычные мьютексы) – Caribou