关于Python并行处理[复制](Parallel Processing on Python [du

2019-10-28 20:44发布

这个问题已经在这里有一个答案:

  • 如何使用线程在Python? 19个回答
  • 使用多处理队列,游泳池和锁定的死简单的例子 5个答案

我在Python和多初学者,所以如果这个问题似乎是天真的,请原谅我。 我有我想要在同一时间运行两个功能。 一个是OpenCV的实现人脸识别,另一个是标准的Python代码。

def main():
    does(s) # a function call 

def face():
    recog.main() #another call

正如您可以猜到,这两种功能是一个必须调用执行任务的最终终端用户功能。 我想他们两个simutaneously运行。

在这个题目上一个答案劝线程模块,但我已经尝试过了,这是行不通的。 第一FUNC。 被称为在第一和然后第二个执行。 我的一个朋友推荐rospy模块。 它是唯一的出路? 由于在期待。

编辑:在回答这个, 让同时运行2个功能 ,用户已书面实际上线程不会使在同一时间运行两个功能

Answer 1:

我用的是多模块运行两个功能并行。 对于我做了什么(变更为您的情况):

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()


文章来源: Parallel Processing on Python [duplicate]