python - 一个函数看起来如何,可以将另一个函数添加到在 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()
解决方案
我增强了您的示例:它对我有用。主脚本和函数都继续。
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")
下次,请发布一个可重现的示例。
推荐阅读
- javascript - 在 SWR 获取请求中使用 Next.js 动态路由查询对象
- flutter - Flutter 包“just_audio”抛出异常
- javascript - TypeError:无法读取未定义的属性“当前”
- javascript - React 更改后 Laravel 视图未更新
- java - 使用 getContentpane 和 FlowLayout 对 Layout 进行更改,但它不起作用,为什么?
- c++ - 有没有办法将一些 unique_ptr 的右值引用传递给线程池
- javascript - React/TypeScript - 类型 'false | 元素'不可分配给类型'元素'
- javascript - 使用Javascript检查内容时出现问题是json类型
- c++ - 重载解析适用于函数,但不适用于隐式构造函数参数
- python - 为什么这段代码不继续留在条件循环中不止一次迭代?