栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Python多重处理导致许多僵尸进程

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python多重处理导致许多僵尸进程

通常,最常见的问题是创建了池但未将其关闭。

我知道保证关闭池的最好方法是使用try / finally子句:

try:    pool = Pool(ncores)    pool.map(yourfunction, arguments)finally:    pool.close()    pool.join()

如果您不想挣扎

multiprocessing
,我写了一个简单的程序包
parmap
,它包装了多处理程序,使我(甚至可能是您)的生活更加轻松。

pip install parmap

import parmapparmap.map(yourfunction, arguments)

在parmap使用情况部分:

  • 简单的并行示例:

    import parmap

    y1 = [myfunction(x, argument1, argument2) for x in mylist]
    y2 = parmap.map(myfunction, mylist, argument1, argument2)
    y1 == y2

  • 遍历元组列表:

    # You want to do:

    z = [myfunction(x, y, argument1, argument2) for (x,y) in mylist]
    z = parmap.starmap(myfunction, mylist, argument1, argument2)

    You want to do:

    listx = [1, 2, 3, 4, 5, 6]
    listy = [2, 3, 4, 5, 6, 7]
    param = 3.14
    param2 = 42
    listz = []
    for (x, y) in zip(listx, listy):
    listz.append(myfunction(x, y, param1, param2))

    In parallel:

    listz = parmap.starmap(myfunction, zip(listx, listy), param1, param2)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/662741.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号