Есть ли библиотека с функцией, которая блокирует вызывающего, пока определенный файл не существует и / или не может быть удален? (Очень желательно в стандартных библиотеках C ++ или boost.)
Я новичок в C ++, пишу однопоточное приложение, которое должно
Причина наличия шагов 2,3 и 5 (вместо просто шага 1&4 и вызывая приложение по требованию), заключается в том, что шаг 1 включает в себя некоторую тяжелую обработку.
Я не хочу тратить много процессорного времени на ожидание во время шага 2, но я также не хочу вводить ненужные задержки, опрашивая существование файла нечасто.
Какой правильный подход здесь? (Желательно кроссплатформенность: Windows, Linux, OSX.)
Есть сервис Asio, который абстрагируется от
inotify
в Linux (а друзья?)плавает в сети. Он еще не был принят в Boost, хотя продолжается обсуждение того, чтобы включить его в Boost Asio (библиотека для асинхронный ввод-вывод)
Нашел это, что может помочь вам найти это:
Это определенно зависит от операционной системы (и файловой системы). На Linux конкретно вы могли бы Inotify (7) средства (с родным Linux местный файловые системы, такие как Ext4 или BTRFS).