Próbuję wygenerować ogromny plik tekstowy przy użyciu C#, a inny proces stale szuka lokalizacji i próbuje pobrać plik, jeśli jest dostępny.Operacja atomowa File.Move
Aby plik atomowej poniżej kroki:
1 - Write to file : Filename_temp.txt
2 - Check if Filename.txt already exists then Delete
3 - Do a File.Move to the same destination
From filename : Filename_temp.txt
TO : Filename.txt
Ponieważ C# nie posiada Zmień nazwę, muszę polegać na File.Move, czy to upewnij się, że operacja będzie ruch atomowy czy istnieje inny sposób na osiągnięcie tej atomowości?
co właściwie masz na myśli mówiąc: ruch atomowy? – Tigran
Czy możesz zaktualizować obie logiki aplikacji? Jeśli tak, użyj Mutex do zsynchronizowania dostępu. – sll
Polecam najpierw sprawdzenie istnienia i usunięcie. Nigdy nie wiadomo, kiedy 'Filename_temp.txt' może już istnieć. – Nolonar