Мне нужно открыть файл, но если он в настоящее время недоступен, мне нужно дождаться его готовности. Какой подход лучше всего выбрать?
СЦЕНАРИЙ
Я использую файлы как постоянный механизм кэширования данных приложения. Эти данные необходимо часто читать и десериализовать (записывать только один раз и периодически удалять). У меня есть процесс очистки, который выполняется в отдельном потоке, который определяет, какие файлы больше не нужны, и удаляет их. Открытие и чтение файлов могут происходить одновременно (редко, но может происходить), и я хочу, чтобы процесс подождал и попытался снова прочитать данные.
Спасибо!