2014-11-11 2 views
2

Я немного смущен многопроцессорной обработкой. У меня есть сценарий обработки видео, который можно запустить из командной строки или запустить из приложения PySide, используя вызов подпроцесса. Сценарий, похоже, отлично работает из командной строки и в основном инициализирует пул работников, каждый из которых обрабатывает отдельный видеофайл.Как использовать многопоточность/многопроцессорную обработку, чтобы предотвратить зависание программы?

Когда я запускаю программу, однако ОС говорит мне, что моя программа не отвечает. Я хотел бы использовать все ядра в своей системе для многопроцессорности, но я также хотел бы предотвратить это раздражение. Что мне делать, я обойду это? Запустить начальный скрипт в потоке или что-то еще?

ответ

1

Как вы говорите о PySide, я предполагаю, что программа является графическим интерфейсом. В GUI-программе вся обработка должна выполняться в рабочем потоке, если вы хотите, чтобы пользовательский интерфейс реагировал. Так что да, исходный скрипт должен начинаться в потоке, отличном от основного потока (основной - зарезервирован для пользовательского интерфейса)

+0

Будет ли многопроцессорная работа работать так, как ожидалось? – kezzos

+0

Я ничего не буду обещать, но ИМХО, это должно сработать - я не могу представить, какую вескую причину он должен разорвать ... Просто попробуйте и сообщите, не работает ли это. –

Смежные вопросы