You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现Python多函数并行运行?现有multiprocessing代码存在阻塞问题

问题原因与解决方案
  • 核心错误:创建multiprocessing.Process时,target参数传入的是函数调用结果(比如function1()),而非函数本身。这会导致主进程先执行完function1,再创建进程对象,完全失去多进程并行的作用。
  • 修正方法:将target的值改为函数名(不带括号),如果函数需要传参,通过args参数传递参数元组。

修正后的代码

import multiprocessing

# target传入函数名,不要加括号执行
process1 = multiprocessing.Process(target=function1)
process1.start()
process2 = multiprocessing.Process(target=function2)
process2.start()
process3 = multiprocessing.Process(target=function3)
process3.start()

process1.join()
process2.join()
process3.join()

补充:带参数的函数处理

如果你的函数需要接收参数,比如function1(a, b),可以通过args传递参数:

process1 = multiprocessing.Process(target=function1, args=(10, 20))

内容的提问来源于stack exchange,提问作者BioRod

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 12:42:08