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

Python 3.4多处理递归Pool.map()

佘单鹗
2023-03-14
问题内容

我正在Ubuntu 14.04上使用Python 3.4进行开发。我试图做递归Pool.map()。在我调用之后g(),它挂在那里并且永远不会返回。

import multiprocessing as mp

pool = mp.Pool()

def d(x):
    return x / 2.0


def f(x):
    w = pool.map(d, x)
    return w

def g():
    v = pool.map(f, [[1, 2], [3, 4]])

    print(v)

问题答案:

这是不可能的。所述Pool对象本身不能安全进程之间被共享,所以相同的池不能在两者中使用fg。即使您 可以
执行此操作,也很快会导致挂起,因为您的池仅限于cpu_count()并发工作程序。一旦开始递归地创建更多的工作人员,您最终将获得比cpu_count()工作人员更多的工作量,这将永远无法完成。正在运行的工作人员将等待池中排队的任务,但是排队的任务将永远无法启动,因为正在运行的任务正在等待。因此,您最终陷入僵局。简而言之:不要尝试这样做。



 类似资料:
  • 问题内容: 我有一个定义相互递归表的模型: 要实际插入问题,我需要怎么做?我需要知道什么是正确的答案。但是要插入答案,我需要知道答案是什么。 如果有问题,我正在运行Postgres。 DDL为: 问题答案: 如果您使用数据修改CTE在 单个语句中 输入问题和答案,那么您甚至都不需要FK约束。更不用说实际制造(或发声)它们了- 这会贵得多。 资料模型 首先,我清理了您的数据模型: 不要使用非描述性的

  • 本文向大家介绍如何处理Python3.4 使用pymssql 乱码问题,包括了如何处理Python3.4 使用pymssql 乱码问题的使用技巧和注意事项,需要的朋友参考一下 在项目中发现这样一个问题:sqlserver数据库编码为gbk,使用python3.4+pymssql 查询,中文乱码,经过一番思考问题解决,下面把解决办法分享给大家: 接下来给大家介绍python 使用pymssql连接s

  • 可以在getData()方法中多次调用QueryList来实现递归多级采集。 使用场景:如采集多级菜单,需要先采集第一级菜单,然后采集第二级菜单,以此类推。 示例采集代码: <?php require 'QueryList/vendor/autoload.php'; use QL\QueryList; //获取每个li里面的h3标签内容,和class为item的元素内容 $html =<<<S

  • 最初,我发布了一个问题“理解尾部递归向量- Q2)尾递归,这让我很难理解。我理解他们为什么需要尾递归,基本上他们用它来避免迭代,所以他们使用helper作为中间例程...所以他们可以避免将每次迭代放入堆栈...类似这样的东西。和letrec/lambda表达式,如下所示: 第Q2-2行:为什么这是“局部递归”“局部”对我来说是递归的中间例程。。。在这里中间意味着我的理解。。 [我的困惑]尾递归是不

  • 我试图了解如何将各种递归函数转换为尾递归。我已经查看了许多将斐波那契和阶乘转换为尾递归的示例,并理解了这些示例,但很难跳到具有某种不同结构的问题。一个例子是: 如何将其转换为尾部递归实现? 我已经看过类似的问题,例如:将正常递归转换为尾部递归,但这些似乎并没有转化为这个问题。

  • 我对函数式编程很陌生,尤其是下面使用的Scheme。我正在尝试使以下函数是递归的,尾递归的。基本上,该函数的作用是对两个字符串的对齐方式进行评分。当给定两个字符串作为输入时,它会比较每个“列”字符,并根据在称为 scorer 的函数中实现的评分方案(由下面的代码中的函数调用)来累积该对齐的分数。 我有一个想法,用一个帮助函数来累积分数,但我不太确定如何去做,因此我该如何让下面的函数尾递归呢?