Атомарные операции записи файлов (кросс-платформенный)
Как мне создать атомарную операцию записи файла? Файл должен быть написан службой Java и прочитан скриптами Python.
Для записи, чтения намного больше, чем записи. Но запись происходит партиями и, как правило, долго. Размер файла составляет мегабайты.
Прямо сейчас мой подход:
Записать содержимое файла во временный файл в том же каталогеУдалить старый файлПереименуйте временный файл в старое имя файла.Это правильный подход? Как можно избежать условий, когда старый файл удаляется, но новое имя файла еще не переименовано?
Есть ли эти языки программирования (питон и ява) предложить конструкции, чтобы заблокировать и избежать этой ситуации?