当前位置: 首页 > 面试题库 >

是否可以对在Python中返回某些内容的函数进行多进程处理?

西门良才
2023-03-14
问题内容

在Python中,我看到了许多示例,其中调用了多处理,但目标仅打印了一些内容。我有一种情况,目标返回2个变量,以后需要使用。例如:

def foo(some args):
   a = someObject
   b = someObject
   return a,b

p1=multiprocess(target=foo,args(some args))
p2=multiprocess(target=foo,args(some args))
p3=multiprocess(target=foo,args(some args))

怎么办?我可以执行.start和.join,但是如何检索单个结果?我需要捕捉我执行的所有作业的返回a,b,然后对其进行处理。


问题答案:

是的,可以-
您可以使用多种方法。最简单的一种是共享Queue。在此处查看示例:http :
//eli.thegreenplace.net/2012/01/16/python-parallelizing-cpu-bound-tasks-with-
multiprocessing/




 类似资料:
  • 问题内容: 我有jQuery Accorion ID 和标头类名称中的一些内容。现在,我想给.simpleColor一个计算出的边距。用伪…看起来像这样, 我愿意使用其他任何技术(例如javascript)来实现这一目标。 问题答案: 有一个名为calc的CSS函数开始获得很好的支持。语法如下: (请注意,运算符周围的空白很重要) 这样可以在CSS中提供真正的动态计算支持。使用预处理器,您只能将静

  • 我有一个通知组件,我有一个超时设置。超时后,我调用。 我想做的是,如果已经超时,我想只呈现任何内容: 问题是: 返回();//这里有一些语法错误

  • 问题内容: 在Python中,该模块可用于在一系列值上并行运行函数。例如,这将生成f的前100000个评估的列表。 当f接受多个输入而只有一个变量变化时,是否可以做类似的事情?例如,如何并行处理此: 问题答案: 有几种方法可以做到这一点。在问题给出的示例中,您可以定义一个包装函数 然后将此包装传递给。一种更通用的方法是使用一个包装器,该包装器使用一个元组参数并将该元组解包为多个参数 或使用等效的l

  • 问题内容: 我正在使用多处理的“进程和队列”。我并行启动了几个函数,大多数函数表现良好:它们完成了,它们的输出进入了Queue,它们显示为.is_alive()== False。但是由于某些原因,一些功能无法正常工作。即使函数的最后一行(显示“ Finished”的打印语句)完成,它们也始终显示.is_alive()== True。无论我启动的功能集是什么,都会发生这种情况,即使只有一个。如果不并

  • 问题内容: 在Linux中,当我从外壳中调用python时,它将复制其环境,并启动python进程。因此,如果我执行以下操作: 当python进程返回时,假设FOO最初是未定义的,它将仍然是未定义的。python进程(或任何子进程)是否可以修改其父进程的环境? 我知道您通常使用类似的方法解决此问题 但这与我的其他要求相冲突。 问题答案: 任何流程都不能更改其父流程(或任何其他现有流程的环境)。 但

  • 问题内容: 假设我有一个Base类,该类具有一个带有TextBox对象作为参数的单个参数构造函数。如果我有以下形式的简单类: 我会收到一条错误消息,告诉我对super的调用必须是构造函数中的第一个调用。但是,奇怪的是,我可以做到这一点。 为什么允许这样做,但第一个例子不允许?我可以理解需要先设置子类,并且可能不允许在调用超级构造函数之前实例化对象变量。但是t显然是方法(局部)变量,那么为什么不允许