У меня есть приложение, которое может использоваться несколькими пользователями одновременно.Приложение использует API, и его токены должны время от времени обновляться.Токены сохраняются в файле.Когда необходимо обновить токены, файл перезаписывается новыми токенами.Меня беспокоит то, что в редких случаях возможно, что два экземпляра приложения будут пытаться выполнить запись в файл одновременно.Что происходит потом?Я хочу избежать ситуации, в которой у меня останется пустой файл.
Я прочитал другие связанные вопросы и увидел, что «операционная система их запланирует» и «все может произойти».Какой это?
Вот 5 рассматриваемых строк, если это поможет.Кроме того, в настоящее время это не происходит в отдельном потоке.
string newTokens = GetTokens();
using (StreamWriter writer = new StreamWriter("TokensFile.txt")) {
writer.Write(newTokens));
writer.Flush();
writer.Close();
}