Если конкурирующие попытки создания файла находятся в одном и том же процессе, вы можете использовать оператор lock
вокруг кода, чтобы предотвратить конфликт.
Если нет, вы можете иногда получить исключение при вызове File.Create. Просто правильно обработать это исключение. Рекомендуется проверить, существует ли файл перед созданием, даже если вы обрабатываете исключение, когда файл существует, потому что выброшенное исключение относительно дорого. Это не было бы целесообразно, только если вероятность состояния гонки мала.