Files
Python-for-Geeks/Chapter7/multithreading/thread4.py
T
2021-03-31 09:22:38 +04:00

35 lines
730 B
Python

# thread4.py with queue and custom Thread class
from queue import Queue
from threading import Thread as Thread
from time import sleep
class MyWorker (Thread):
def __init__(self, name, q):
Thread.__init__(self)
self.name = name
self.queue = q
def run(self):
while True:
item = self.queue.get()
sleep(1)
try:
print ("{}: {}".format(self.name, item))
finally:
self.queue.task_done()
#filling the queue
myqueue = Queue()
for i in range (10):
myqueue.put("Task {}".format(i+1))
# creating threads
for i in range (5):
worker = MyWorker("Th {}".format(i+1), myqueue)
worker.daemon = True
worker.start()
myqueue.join()