在Python中同时运行多个程序可以通过多进程、多线程、异步编程或外部脚本管理实现,核心方法包括利用multiprocessing
模块实现并行计算、threading
模块处理I/O密集型任务,以及asyncio
优化高并发场景。以下是具体实现方式:
-
多进程(
multiprocessing
模块)
适用于CPU密集型任务,可绕过Python的全局解释器锁(GIL)。通过创建Process
对象启动独立进程,每个进程拥有单独的内存空间。例如:python复制
from multiprocessing import Process def worker(): print("子进程执行") if __name__ == '__main__': p = Process(target=worker) p.start() p.join()
-
多线程(
threading
模块)
适合I/O密集型任务(如网络请求、文件读写)。线程共享内存,但需注意线程安全(如使用Lock
同步)。示例:python复制
import threading def worker(): print("线程执行") threads = [threading.Thread(target=worker) for _ in range(3)] for t in threads: t.start() for t in threads: t.join()
-
异步编程(
asyncio
模块)
通过协程实现高并发,避免阻塞。例如:python复制
import asyncio async def worker(): print("异步任务") async def main(): await asyncio.gather(*(worker() for _ in range(3))) asyncio.run(main())
-
外部脚本管理
使用subprocess
调用其他Python脚本,或通过multiprocessing.Pool
管理进程池批量执行任务。
总结:根据任务类型选择合适方案——多进程提升计算效率,多线程优化I/O等待,异步编程简化高并发逻辑。合理设计可显著提升程序性能。