📅  最后修改于: 2023-12-03 15:37:10.348000             🧑  作者: Mango
有时候,您可能需要同时运行 2 个循环 Python 以进行不同的任务。本文将介绍如何实现这个目标。
使用多线程是一种同时运行 2 个或更多循环 Python 的有效方法。下面是一个使用多线程同时运行 2 个循环 Python 的示例代码:
import threading
def worker1():
for i in range(10):
print("worker1: ", i)
def worker2():
for i in range(10):
print("worker2: ", i)
t1 = threading.Thread(target=worker1)
t2 = threading.Thread(target=worker2)
t1.start()
t2.start()
t1.join()
t2.join()
这个例子中,我们使用 threading
模块创建了两个线程分别运行名为 worker1
和 worker2
的函数。使用 t1.start()
和 t2.start()
启动这两个线程,并使用 t1.join()
和 t2.join()
等待它们完成。
另一种同时运行 2 个循环 Python 的方法是使用 asyncio
库。这个库提供了一种协程的方式,可以在单个线程中运行多个任务。下面是一个使用 asyncio
库同时运行 2 个循环 Python 的示例代码:
import asyncio
async def worker1():
for i in range(10):
print("worker1: ", i)
await asyncio.sleep(0.1)
async def worker2():
for i in range(10, 20):
print("worker2: ", i)
await asyncio.sleep(0.1)
async def main():
await asyncio.gather(worker1(), worker2())
asyncio.run(main())
这个例子中,我们创建了两个协程函数 worker1
和 worker2
,并使用 asyncio.gather
函数同时运行它们。在每个协程函数中,我们使用 await asyncio.sleep(0.1)
使每个循环在每次迭代之间暂停 0.1 秒,以便我们可以看到这两个任务同时运行。最后,我们使用 asyncio.run(main())
运行这个程序。
本文介绍了两种同时运行 2 个循环 Python 的方法:使用多线程和使用 asyncio
库。您可以选择其中一种或根据实际需求选择适当的方法。