【问题标题】:Parallelize calling of object methods并行调用对象方法
【发布时间】:2011-12-12 22:07:11
【问题描述】:

我有一个对象列表,对于每个对象,我想调用它们的 foo 函数,并将参数 bar 传递给它。我想并行化这个操作,所以现在我正在研究使用多处理包中的 Pool.map。不过,我不确定如何使用 map 来运行对象方法。我怎样才能做到这一点?还是有更好的方法可以并行执行此操作?

【问题讨论】:

    标签: python parallel-processing


    【解决方案1】:

    定义一个辅助函数并将对象方法及其参数通过Pool.map 传递给该函数。辅助函数看起来像这样:

    def helper(*args):
        return args[0](*args[1:])
    

    你会这样使用它:

    pool = Pool()
    results = pool.map(helper, [obj.method, arg1, arg2])
    

    请注意,辅助函数必须可以直接从其包含的模块导入。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-17
      • 2021-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多