boost — C ++: блокировка файлов между потоками и процессами

Я хотел бы создать блокировку на основе файлов, которая обеспечивает эксклюзивный доступ к связанному ресурсу. boost:interprocess::file_lock подходит для разделения процессов, но не подходит для разделения потоков. Эта проблема может быть решена с помощью дополнительного boost::recursive_mutex если мы извлекаем имена файлов в уникальные полные пути (например, нет относительно определенных файлов блокировки, таких как something/x.lock) и ассоциировать мьютексы с ними.

Я хотел бы иметь более простой и относительно стандартный способ блокировки файлов, который работает как для потоков, так и для процессов.

3

Решение

Использовать recursive_named_mutex вместо. Работает как с процессами, так и с потоками. Намного дешевле и менее подвержен ошибкам.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]