📅  最后修改于: 2023-12-03 15:09:12.490000             🧑  作者: Mango
有时候,您可能需要永久地运行两个或多个异步函数,以便它们在后台持续工作。在本文中,我们将介绍如何实现此目标。
我们将使用异步IO和异步进程池来实现此目的。我们将创建两个Python协程并将它们添加到事件循环中。然后,我们将使用异步进程池来启动一个无限循环,以便这两个协程可以永久地运行。
首先,让我们创建两个Python协程。这些协程将在后台持续工作。
import asyncio
async def coroutine_one():
while True:
# Do some work here
await asyncio.sleep(1)
async def coroutine_two():
while True:
# Do some work here
await asyncio.sleep(1)
接下来,我们将创建一个事件循环,并将这两个协程添加到它中。
loop = asyncio.get_event_loop()
loop.create_task(coroutine_one())
loop.create_task(coroutine_two())
现在,让我们使用异步进程池启动一个无限循环。我们将在这个循环中等待一秒钟,以便这两个协程可以在后台无限期地工作。
async def infinite_loop():
while True:
await asyncio.sleep(1)
async def main():
loop.create_task(infinite_loop())
await asyncio.gather()
loop.run_until_complete(main())
现在,我们已经实现了运行两个异步函数的方案。
在本文中,我们介绍了如何使用异步IO和异步进程池来永久地运行两个异步函数。通过此方案,您可以确保这两个函数将在后台持续工作。