python同时运行多个函数
时间: 2024-05-03 22:18:10 浏览: 111
在Python中,可以使用多线程、多进程或异步编程来同时运行多个函数。
1. 多线程:使用 threading 模块,创建多个线程,每个线程执行一个函数。需要注意线程安全问题。
```python
import threading
def func1():
# do something
def func2():
# do something
if __name__ == '__main__':
t1 = threading.Thread(target=func1)
t2 = threading.Thread(target=func2)
t1.start()
t2.start()
t1.join()
t2.join()
```
2. 多进程:使用 multiprocessing 模块,创建多个进程,每个进程执行一个函数。需要注意进程间通信问题。
```python
import multiprocessing
def func1():
# do something
def func2():
# do something
if __name__ == '__main__':
p1 = multiprocessing.Process(target=func1)
p2 = multiprocessing.Process(target=func2)
p1.start()
p2.start()
p1.join()
p2.join()
```
3. 异步编程:使用 asyncio 或者 gevent 等异步库,可以在单线程中实现多个函数的异步执行。需要注意协程之间的调度问题。
```python
import asyncio
async def func1():
# do something
async def func2():
# do something
if __name__ == '__main__':
loop = asyncio.get_event_loop()
tasks = [loop.create_task(func1()), loop.create_task(func2())]
loop.run_until_complete(asyncio.wait(tasks))
loop.close()
```
以上是三种常见的同时运行多个函数的方法,具体使用哪种方法可以根据实际情况来选择。
阅读全文