【发布时间】:2016-10-16 05:11:24
【问题描述】:
我是 python 和多处理的初学者,所以如果这个问题看起来很幼稚,请原谅我。 我有两个要同时运行的功能。一个是人脸识别的openCV实现,另一个是标准的python代码。
def main():
does(s) # a function call
def face():
recog.main() #another call
您可以猜到,这两个函数都是最终用户函数,必须调用它们才能实现任务。我希望它们同时运行。
有关此主题的先前答案建议使用线程模块,但我已经尝试过,但它不起作用。第一个功能。首先执行要调用的,然后执行第二个。我的一个朋友推荐了 rospy 模块。这是唯一的方法吗?感谢期待。
编辑:在回答这个问题时,Make 2 functions run at the same time,一位用户写道,线程实际上不会使两个函数同时运行
【问题讨论】:
-
关于此主题的先前答案建议线程模块,但我已经尝试过但它不起作用您尝试了什么,提供minimal reproducible example。也看看Dead simple example of using Multiprocessing Queue, Pool and Locking
-
thread.start_new_thread(main()) thread.start_new_thread(face()) 这不会同时运行它们。相反,将它们一一完成。我尝试了线程模块tutorialspoint.com/python/python_multithreading.htm,但结果是一样的。
-
如果你不使用 ROS,不要使用 rospy 只并行运行。这不是它的本意,它会让你对 ROS 产生不必要的依赖。
标签: python multithreading multiprocessing ros