О C++ потоковой синхронизации

Прежде чем задать вопрос, я объясню эту ситуацию.

Есть два компьютера (назовем их А и Б). А только записывает файл. и B только читает файл (который написал A)

Проблема в синхронизации.

Если A пытается записать файл, пока B читает файл, A ничего не записывает.

Итак, я хочу заставить A ждать, если какой-либо пользователь (особенно B) обращается к файлу.

Есть ли какая-нибудь полезная функция для проверки того, что файл используется?

(Я использую Code-Blocks, а не Visual Studio)


person Kanghoi Choi    schedule 22.07.2015    source источник
comment
Где хранится файл?   -  person Paolo M    schedule 22.07.2015
comment
он хранится на компьютере A, а B имеет доступ к файлу типа open(\\111.222.333.444\file.txt)   -  person Kanghoi Choi    schedule 22.07.2015


Ответы (1)


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

Я думаю, вам придется справиться с этим самостоятельно, то есть определить политику доступа к вашему файлу, например. создайте еще один файл ~stragename в качестве дескриптора для синхронизации A и B.

person Paolo M    schedule 22.07.2015