jtentor icon

DemoQueue5 - DemoQueue5.py

jtentor | PRO | 05/18/20 02:09:54 PM UTC | 0 ⭐ | 1524 👁️ | Never ⏰ | []
Python |

1.04 KB

|

None

|

0 👍

/

0 👎

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
__author__ = 'Julio Tentor <[email protected]>'
 
'''
Multithread Queue
https://docs.python.org/3/library/queue.html
'''
 
import threading, queue
 
 
q = queue.Queue()
 
def consumer1():
    while True:
        item = q.get()
        print("C1 Consume", item)
        q.task_done()
 
def producer1():
    for item in range(5):
        q.put("P1 " + str(item))
 
def consumer2():
    while True:
        item = q.get()
        print("C2 Consume", item)
        q.task_done()
 
def producer2():
    for item in range(5):
        q.put("P2 " + str(item))
 
def producer3():
    for item in range(5):
        q.put("P3 " + str(item))
 
# start threads
threading.Thread(target=consumer1, daemon=True).start()
threading.Thread(target=consumer2, daemon=True).start()
 
threading.Thread(target=producer1, daemon=True).start()
threading.Thread(target=producer2, daemon=True).start()
threading.Thread(target=producer3, daemon=True).start()
 
 
# wait
q.join()
 
print("la cola está vacía")

Comments