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()函数进行协同作业。
相关文章