@maksqwe

Как правильно реализовать доступ к файлам, которые используются двумя процессами?

Добрый вечер всем!


Пишу на С++, VS 2008, win32

Вот вопрос в названии темы. Есть два процесса, в каждом процессе создается несколько потоков (1 поток = 1 обработка файла), запускаются одновременно. Как правильно реализовать доступ каждого потока разных процессов к одному и тому же файлу наиболее корректно? Собственно происходит запуск «программы А», далее сразу запускается «программа Б», создается поток в программе А, который обрабатывает 1ый файл, тут же поток в программе Б начинает считывать этот 1ый файл. Надо сделать так что бы поток программы Б сумел прочитать этот файл только по завершению обработки тем потоком программы А. Как-то так :)


Сначала думал реализовать через критические секции, но вспомнил что они только в рамках одного процесса :(
  • Вопрос задан
  • 3140 просмотров
Решения вопроса 1
@sergei-grigorev
Попробуйте создать mutex для каждого блокируемого файла. Насколько я помню, они вроде как разделяемые между несколькими процессами
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
opium
@opium
Просто люблю качественно работать
Сделайте отдельный поток с очередью, который будет получать от других потоков команды на манипуляции с файлами.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы