python多进程cpu的占用率很低_Python 中的进程池与多进程

8f364064-9c25-eb11-8da9-e4434bdf6706.png
封面图片来源:沙沙野

内容概览

  1. 进程池
  2. 进程池和多进程的性能测试
  3. 进程池的其他机制
  4. 进程池的回调函数

进程池

  1. 如果有多少个任务,就开启多少个进程,实际上并不划算。由于计算机的 cpu 个数是非常有限的因此开启的进程数量完全和 cpu 个数成比例
  2. 进程池的特点:同一时间最多有多少个进程能够同时执行任务与进程池中进程的个数有关系
  3. 如果进程池设置了个数,那么程序只会开启四个进程运行
from multiprocessing import Pool
import os

def func(i):
    print(i, os.getpid())

if __name__ == "__main__":
    p = Pool(4)
    for i in range(10):
        # async 异步的提交任务
        p.apply_async(func, args=(i,))
    # 关闭池子,不是回收池子中的进程,而是阻止继续提交任务
    p.close()
    # 阻塞,直到池子中的任务都执行完毕
    p.join()

# 运行结果:发现即使重新运行多次,最多也就出现四个进程
0 4866
1 486
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值