Форум сайта python.su
Привет.
В общем имеется поток Qthread, в теле которого выполняется обычный thread.
Примерно такой:
#worker.py
from PyQt4 import QtCore
import threading
from queue import Queue
class Worker(QtCore.QThread):
def __init__(self):
QtCore.QThread.__init__(self)
def run(self):
print("Started.")
self.doPrint()
print("Finished!")
def doPrint(self):
threads_count = 10
tQueue = Queue()
for num in range(100):
tQueue.put(num)
for i in range(threads_count):
t = threading.Thread(target=self.multiThreading, args=(num, tQueue))
t.start()
time.sleep(0.1)
def multiThreading(self, num, tQueue):
while True:
try:
num = tQueue.get_nowait()
except Exception:
break
print(num)
tQueue.task_done()
Офлайн