首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python池进程管理

Python池进程管理
EN

Stack Overflow用户
提问于 2018-02-24 23:52:20
回答 1查看 239关注 0票数 0

例如,当我只使用一个进程实例化Pool时,我运行了一些Python代码并意识到:

代码语言:javascript
复制
from multiprocessing.pool import Pool
from time import sleep

def f(i):
  print(i)
  sleep(10)

with Pool(1) as p:
    p.map(f, [i for i in range(100)])

实际上,目前正在运行五个进程。我还注意到了一个模式:如果我用1,2,3实例化Pool,.Python启动的进程数为5,6,7,.我很好奇:Pool是否使用三个过程进行管理?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-27 04:10:00

使用Pool(1),您将得到两个进程,主进程(pid 31070)和一个工作进程(pid 31071),但是主进程中有3个额外的线程/LWP (LWP/线程id 31072/31073/31074):

代码语言:javascript
复制
  PID  PPID   LWP  NLWP CMD
31070 21240 31070     4 python3 so_48968836_mp.py
31070 21240 31072     4 python3 so_48968836_mp.py
31070 21240 31073     4 python3 so_48968836_mp.py
31070 21240 31074     4 python3 so_48968836_mp.py
31071 31070 31071     1 python3 so_48968836_mp.py

那三根线用于池工作人员的维护、异步任务和结果处理。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48968836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档