zoukankan      html  css  js  c++  java
  • Python--day39--进程池原理及效率测试

    #为什么要有进程池的概念
    #效率
    #每次开启进程都要创建一个属于这个进程的内存空间
    #寄存器 堆栈 文件
    #进程过多 操作系统调度进程
    #

    #进程池
    #python中的 先创建一个属于进程的池子
    #这个池子指定能存放多少个进程
    #先将这些进程创建好
    #更高级的进程池
    #n,m
    #3 三个进程
    # +进程
    #20 20个进程

    #超过了五个进程就要用进程池,不要再用子进程了,进程池的效率高
    #输入输出都非常影响效率

    进程池效率测试:

     1 import time
     2 from multiprocessing import Pool,Process
     3 def func(n):
     4     for i in range(10):
     5         print(n+1)
     6 
     7 
     8 
     9 if __name__ == '__main__':
    10     start = time.time()
    11    #进程池的代码就三行,执行的时间为t1
    12     pool = Pool(5)              #5个进程
    13     pool.map(func,range(100))   #100个任务
    14     t1 = time.time() - start
    15     #多进程的代码多,执行时间为t2,运行结果表明进程池的效率远远大于多进程
    16     start = time.time()
    17     p_lst = []
    18     for i in range(100):
    19         p = Process(target=func,args=(i,))
    20         p_lst.append(p)
    21         p.start()
    22     for p in p_lst:p.join()
    23     t2 = time.time() -start
    24     print(t1,t2)

    运行结果:

  • 相关阅读:
    MyBatis原理分析
    oracle修改数据遇到的坑
    oracle查询时遇到的坑
    maven镜像
    易错题
    binlog2sql 安装使用
    Archery SQL审核平台搭建
    Docker安装
    夜莺n9e监控搭建
    influxdb安装
  • 原文地址:https://www.cnblogs.com/xudj/p/10337723.html
Copyright © 2011-2022 走看看