繁体   English   中英

multiprocessing.Process-变量作为函数

[英]multiprocessing.Process - Variable as function

我正在使用下面的代码来并行处理numpy数组。 在这种情况下,目标函数对输入数据执行简单的线性拉伸。 对该数组进行分段,然后分块将其馈送到池中。 由于使用python帖子进行了大量的并行处理,因此该命令运行良好。

        pool = [multiprocessing.Process(target=linear_stretch, args= (shared_arr,slice(i, i+step), 35, 200, 2.0)) for i in range (0, y, step)]

我的问题是,是否可以执行以下操作:

stretch = Linear.linear_stretch()

在哪里创建函数的对象(请纠正我的vocab!),然后在multiprocessing.Process中调用它。

该函数所在的模块当前如下所示:

Linear.py

import numpy

def linear_stretch(args):
    #Do some stuff

是的,像这样:

stretch = Linear.linear_stretch

在Python中,函数已经是一流的对象,并且能够像其他任何对象一样进行操作,或通过引用传递给另一个变量。 请注意,在函数或方法发出信号通知解释器以调用该函数并传递返回值之后,括号将成为原因:

stretch = Linear.linear_stretch()

将无法正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM