Вы можете синхронизировать доступ к файлу с блокировкой или (если у вас есть такое соотношение чтения-записи, которое делает это целесообразным) ReaderWriterLockSlim
.
Я бы предпочел избежать всего вопроса. Базы данных созданы для одновременного использования такого рода, так что это альтернатива. Если бы вы могли разделить свою логику на несколько файлов, это еще одна возможность.
В противном случае, по крайней мере, вам нужно заблокировать только Save
и Load
, чтобы избежать повреждения файла. Однако вам следует быть очень осторожным, чтобы сделать блокировки более тонкими, так как сохранения будут перезаписывать друг друга таким образом, что будут потеряны данные, которые не были бы потеряны, если бы вы синхронизировали всю операцию.