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

Python多重处理导致许多僵尸进程,第1张

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)



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5664696.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存