Является ли File.renameTo () атомарным в Oracle Java 6 и Windows? - PullRequest
3 голосов
/ 18 ноября 2011

Документы для File.renameTo() говорят: «Многие аспекты поведения этого метода изначально зависят от платформы: переименование (...) может быть не атомарным ...»

Это довольно расплывчато, и мне нужно избавиться от сомнений. Является ли этот метод атомарным в Oracle Java 6 на WinXP и новее?

Ответы [ 2 ]

4 голосов
/ 18 ноября 2011

Поскольку исторически win32 не предоставляла никакой поддержки атомарных перемещений / переименований файлов, это маловероятно.

Они добавили функции для этого в Vista, поэтому новые файловые функции в Java7 могут фактически использовать их - нетидея.Но для XP вам не повезло.

4 голосов
/ 18 ноября 2011

На основании этого ответа xpost

«Win32 не гарантирует элементарных операций с метаданными файлов. Я бы привел цитату, но ее нет - тот факт, что нет письменной или документированной гарантии, так много значит»

номер

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...