Python中的异步队列及其实现方法

2023-04-11 00:00:00 python 队列 方法

异步队列是一种多任务编程技术,它允许过程在非阻塞式的条件下与队列交互。Python中的异步队列可以通过asyncio模块实现。下面是它的基本实现方法:

import asyncio

async def producer(queue):
    for i in range(10):
        await queue.put(f"pidancode.com-{i}")
        await asyncio.sleep(1)

async def consumer(queue):
    while True:
        data = await queue.get()
        print(data)
        await asyncio.sleep(0.5)
        queue.task_done()

async def main():
    queue = asyncio.Queue()
    task1 = asyncio.create_task(producer(queue))
    task2 = asyncio.create_task(consumer(queue))
    await asyncio.gather(task1, task2)

asyncio.run(main())

以上代码演示了一个异步队列的完整过程,其中通过producer函数添加数据到队列,consumer函数则不断从队列中获取数据并进行处理。通过asyncio.create_task()函数,我们可以轻松地创建任务,并使用asyncio.gather()函数进行协同作业。

相关文章