QFileSystemWatcher - нужно ли его запускать в другом потоке?

У меня есть класс, который выполняет синтаксический анализ двух больших (~90K строк, 11 столбцов в первом и около 20K, 5 столбцов во втором) CSV-файлов. В соответствии со спецификацией, с которой я работаю, файлы CSV могут быть изменены извне (удаление / добавление новых строк; столбцы остаются неизменными, а также пути). Такие обновления могут происходить в любое время (хотя весьма маловероятно, что обновление будет запущено через промежутки времени, которые короче пары минут), и обновление любого из двух файлов должно прервать текущую обработку всех этих данных (CSV, XML). из запроса HTTP GET, UDP-телеграммы) с последующим повторным анализом содержимого каждого из двух (или только одного, если только один изменился).

Я сохраняю данные CSV (довольно сокращенные, так как применяю несколько фильтров для удаления нежелательных записей) в памяти, чтобы ускорить работу с ними, а также избежать ненужных операций ввода-вывода (открытие, чтение, закрытие файла).

Прямо сейчас я смотрю в QFileSystemWatcher, который, кажется, именно то, что мне нужно. Однако я не могу найти какую-либо информацию о том, как это на самом деле работает внутри.

Поскольку все, что мне нужно, это отслеживать 2 файла на предмет изменений, количество файлов не должно быть проблемой. Нужно ли мне запускать его в отдельном потоке (так как наблюдатель является частью того же класса, где происходит синтаксический анализ CSV), или можно с уверенностью сказать, что он может работать без лишней суеты (то есть он работает асинхронно, как QNetworkAccessManager)? На данный момент моей средой разработки является 64-битная виртуальная машина Ubuntu (VirtualBox) на относительно мощном хосте (рабочая станция HP Z240), однако целевая система является встроенной. Хотя весь разбор CSV-файлов занимает самое большее 2-3 секунды, я не знаю, какое влияние это окажет на производительность при развертывании приложения, поэтому дополнительные накладные расходы вызывают у меня беспокойство.

0 ответов

Другие вопросы по тегам