Parallel Processing on Python
本问题已经有最佳答案,请猛点这里访问。
我是Python和多处理的初学者,所以如果这个问题看起来很幼稚,请原谅我。我有两个要同时运行的函数。一个是人脸识别的opencv实现,另一个是标准的python代码。
1 2 3 4 5 | def main(): does(s) # a function call def face(): recog.main() #another call |
正如您所猜测的,这两个函数都是最终用户函数,您必须调用它们来实现任务。我希望他们两个同时运行。
以前关于这个主题的答案建议线程模块,但我已经尝试过了,它不起作用。第一个功能。先执行待调用,然后执行第二个。我的一个朋友推荐了Rospy模块。这是唯一的方法吗?感谢您的期待。
编辑:在这个问题的答案中,让两个函数同时运行,一个用户写到线程实际上不会使两个函数同时运行。
我使用多处理模块并行运行两个函数。我所做的(改变了你的处境):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | import multiprocessing def main(): does(s) # a function call def face(): recog.main() #another call # Initiate two workers for the two functions workerMAIN = multiprocessing.Process(target=main) workerFACE = multiprocessing.Process(target=face) # Start the workers workerMAIN.start() workerFACE.start() # Wait until the functions have finished workerMAIN.join() workerFACE.join() |