python中利用隊列asyncio.Queue進行通信詳解html
本文主要給你們介紹了關於python用隊列asyncio.Queue通信的相關內容,分享出來供你們參考學習,下面話很少說了,來一塊兒看看詳細的介紹吧。
asyncio.Queue與其它隊列是同樣的,都是先進先出,它是爲協程定義的
例子以下:
import asyncio
async def consumer(n, q):
async def producer(q, num_workers):
async def main(loop, num_consumers):
event_loop = asyncio.get_event_loop()
try:
finally:
輸出以下:
consumer 0: starting
consumer 0: waiting for item
consumer 1: starting
consumer 1: waiting for item
producer: starting
producer: added task 0 to the queue
producer: added task 1 to the queue
consumer 0: has item 0
consumer 1: has item 1
producer: added task 2 to the queue
producer: added task 3 to the queue
consumer 0: waiting for item
consumer 0: has item 2
producer: added task 4 to the queue
consumer 1: waiting for item
consumer 1: has item 3
producer: added task 5 to the queue
producer: adding stop signals to the queue
consumer 0: waiting for item
consumer 0: has item 4
consumer 1: waiting for item
consumer 1: has item 5
producer: waiting for queue to empty
consumer 0: waiting for item
consumer 0: has item None
consumer 0: ending
consumer 1: waiting for item
consumer 1: has item None
consumer 1: ending
producer: ending
總結
以上就是這篇文章的所有內容了,但願本文的內容對你們的學習或者工做具備必定的參考學習價值.python