Параллельная запись в файл
Как записать в текстовый файл, который может быть доступен из нескольких источников (возможно, одновременно), гарантируя, что ни одна операция записи не будет потеряна?
Например, если два разных процесса пишут в один и тот же момент в файл, это может привести к проблемам. Простым решением (не очень быстрым и не очень элегантным) будет блокировка файла при начале процесса (создание файла .lock или аналогичного) и освобождение его (удаление блокировки) во время записи.
В начале записи я бы проверил, существует ли файл .lock, и отложил бы запись, пока файл не будет выпущен.
Каков рекомендуемый образец для такой ситуации?
Спасибо
EDIT Я имею в виду процессы, например разные программы от разных клиентов, разных пользователей и т. Д., А не потоки в одной программе