Каков наилучший способ атомарной блокировки нескольких файлов?Одна возможность, о которой я подумал, - это простой .lock
файл в каталоге (я защищен только от других экземпляров моей программы; я не обязательно пытаюсь помешать другим программам игнорировать блокировку.) Однако все, что я узнал о безопасности потоков, кричит "плохая идея!"Будет ли это безопасный путь?Пытается создать атомарный файл, поэтому, если мне удастся создать его, я знаю, что у меня есть блокировка?Как мне поступить об этом?
Я пишу свой собственный баг-трекер (в основном как упражнение, я знаю, что могу найти там хорошие решения), который хранит ошибки в файлах в сети.Я предполагаю, что это похоже на SVN - одна директория перехватывается программой и используется для хранения ошибок, ревизий, скриншотов и т. Д., Управляемых трекером.Я предполагаю, что у SVN есть способ гарантировать, что несколько клиентов не совершают коммиты одновременно и т. Д.