首页 > 解决方案 > 一个函数看起来如何,可以将另一个函数添加到在 python 中并行运行的函数列表中?

问题描述

def update():
   while True:
       loadData()

def main():
   doStuff()
   addToParallelFunctions(update)
   doOtherStuff()

if __name__ == '__main__':
   addToParallelFunctions(main)

该函数看起来如何addToParallelFunctions,以便更新并行运行,main并且我可以添加其他函数以并行运行main

我已经尝试过了,但它暂停了主要功能并运行了另一个功能,直到她完成。

from multiprocessing import Process

def addProcess(*funcs):
    for func in funcs:
       Process(target=func).start()

标签: pythonmultiprocessing

解决方案


我增强了您的示例:它对我有用。主脚本和函数都继续。

import time
from multiprocessing import Process

def addProcess(*funcs):
    for func in funcs:
       Process(target=func).start()

def update():
   for i in range(20):
       print(i)
       time.sleep(2)

def main():
   print("start")
   addProcess(update)
   print("Main function continues")

if __name__ == '__main__':
   addProcess(main)
   print("main script continues")

下次,请发布一个可重现的示例。


推荐阅读