Атомарные операции записи файлов (кросс-платформенный)

Как мне создать атомарную операцию записи файла? Файл должен быть написан службой Java и прочитан скриптами Python.
Для записи, чтения намного больше, чем записи. Но запись происходит партиями и, как правило, долго. Размер файла составляет мегабайты.

Прямо сейчас мой подход:

Записать содержимое файла во временный файл в том же каталогеУдалить старый файлПереименуйте временный файл в старое имя файла.

Это правильный подход? Как можно избежать условий, когда старый файл удаляется, но новое имя файла еще не переименовано?

Есть ли эти языки программирования (питон и ява) предложить конструкции, чтобы заблокировать и избежать этой ситуации?

Ответы на вопрос(7)

Ваш ответ на вопрос