Всем привет.
Для курсовой работы пишу приложение, которое, грубо говоря, должно высчитывать каждое следующее состояние клеточного автомата и время от времени выводить его на экран. Решил расчеты распараллелить — создал свой класс MyThread, унаследовал его от QRunnable. Создал массив из двух объектов класса MyThread и время от времени запускаю их на выполнение таким вот образом:
for w in self.__workers:
QtCore.QThreadPool.globalInstance().start(w)
QtCore.QThreadPool.globalInstance().waitForDone()
Посмотрел в диспетчер задач, и увидел, что как было одно ядро занято задачей, так оно одним и осталось. Подумал, что это может быть связано с количеством потоков в пуле, решил увеличить их число до трех (один поток — главный, два других — MyThread'ы).
QtCore.QThreadPool.globalInstance().setMaxThreadCount(3)
Никаких перемен.
Я где-то что-то не так делаю, но понять что и где не могу. Может быть кто-нибудь сталкивался с задачей написания приложения на PySide, которое должно было работать хотя бы на двух ядрах? Есть идеи, что я делаю неправильно?