Здравствуйте. Люди, помогите. Недавно изучаю питон, а тут уже полторы недели мучаюсь, третий день не сплю и уже туплю по-страшному)) задача тривиальная. Есть несколько потоков и они передают в очередь данные. Очередь в отдельном потоке. Эта очередь по мере поступления данных обрабатывает их и производит некоторые действия. Например запись в файл. Я сделал какой-то пример,, там просто вывод на экран, по-моему он не очень хорош… предыдущие “творения” удалил…
import threading, queue
import time
class queueThread(threading.Thread):
def __init__(self, que):
super(queueThread, self).__init__()
self.que = que
def somefunc(self, item):
print(item)
def run(self):
while True:
while True:
time.sleep(1)
try:
item = self.que.get_nowait()
except queue.Empty:
break
else:
self.somefunc(item)
self.que.task_done()
class ThreadClass(threading.Thread):
def __init__(self, some_var, que):
super(ThreadClass, self).__init__()
self.some_var=some_var
self.que = que
def run(self):
t=self.some_var
self.que.put_nowait(t)
que = queue.Queue()
q=queueThread(que)
q.daemon=True
q.start()
while True:
var='a'
t = ThreadClass(var, que)
t.daemon=True
t.start()
que.join()
var='b'
w=ThreadClass(var, que)
w.daemon=True
w.start
que.join()
time.sleep(3)
Могли бы помочь разобраться?