Найти - Пользователи
Полная версия: Выбор техники реализации многопоточного приложения
Начало » Python для новичков » Выбор техники реализации многопоточного приложения
1
_alexs_
Есть приложение для обработки данных, в котором реализованы различные алгоритмы. Алгоритм может быть как собственноручно написанный, так и оберткой над сторонними консольными приложениями. Сейчас все делается в одном потоке и нет возможности запустить несколько алгоритмов одновременно. Хочу переделать, чтобы можно было запускать алгоритмы в отдельных потоках.

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

Думаю использовать связку QThreadPool и QRunnable, но может есть другие, более подходящие варианты?
doza_and
_alexs_
В процессе работы алгоритма должен обновляться прогрессбар
Он должен показывать разумные значения? Без поддержки со стороны алгоритма думаю это реализовать нельзя.
_alexs_
но может есть другие, более подходящие варианты?
Мне subprocess кажется более разумным. Запустить и остановить досрочно приложение он позволяет.
1. Можно будет использовать и отлаживать алгоритмы без использования GUI.
2. Сторонние процессы все равно надо запускать, поэтому QThreadPool тут будет бесполезным усложнением.
3. QRunnable вообще мне непонятно зачем нужен (не спец по Qt может и ошибаюсь).
_alexs_
Спасибо. Буду пробовать
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB