Есть приложение для обработки данных, в котором реализованы различные алгоритмы. Алгоритм может быть как собственноручно написанный, так и оберткой над сторонними консольными приложениями. Сейчас все делается в одном потоке и нет возможности запустить несколько алгоритмов одновременно. Хочу переделать, чтобы можно было запускать алгоритмы в отдельных потоках.
Схема работы следующая. В главном окне приложения выбирается алгоритм, открывается его диалог настройки и задаются параметры и пути к обрабатываемым данным. Затем алгоритм запускается. Аналогичным образом запускается второй, третий и т.д. алгоритмы. В процессе работы алгоритма должен обновляться прогрессбар в его окне и выводиться отладочные/информационные сообщения. Также должна быть возможность преждевременного завершения алгоритма по хапросу пользователя.
Думаю использовать связку QThreadPool и QRunnable, но может есть другие, более подходящие варианты?