zoukankan      html  css  js  c++  java
  • 进程池

     1 import os
     2 import time
     3 from multiprocessing import Pool,Process,Lock
     4 
     5 def foo(i):
     6     time.sleep(1)
     7     # print('work is over')
     8     print(i)
     9     return i+100
    10 
    11 # def fun():
    12 #     print(os.getppid())
    13 #     print(os.getpid())
    14 
    15 
    16 if __name__ == '__main__':
    17     pool = Pool(5)
    18     for i in range(100):
    19         pool.apply(func=foo,args=(i,))    # 同步运行,一个一个的运行
    20         # pool.apply_async(func=foo,args=(i,))  # 异步并行
    21 
    22     pool.close()
    23     pool.join()
    24     print('end')
    25 输出:

    在进程池里面,pool.close() 必须在pool.join()的前面。

    回调函数用的是主进程。比如在写logger()的时候,当子进程结束了之后就可以释放掉子进程,回调主函数进行写

    logger()。

    逻辑之外的就用回调函数。

    穿函数就用return

     1 import os
     2 import time
     3 from multiprocessing import Pool,Process,Lock
     4 
     5 def foo(i):
     6     time.sleep(1)
     7     # print('work is over')
     8     print(i)
     9     print('son',os.getpid())
    10     return i+100
    11 
    12 def fun(arg):
    13     # print(os.getppid())
    14     # print(os.getpid())
    15     print('hello')
    16     print('fun',os.getpid(),arg)
    17 
    18 if __name__ == '__main__':
    19     pool = Pool(5)
    20     print('parent',os.getpid())
    21     for i in range(100):
    22         # pool.apply(func=foo,args=(i,))    # 同步运行,一个一个的运行
    23         # pool.apply_async(func=foo,args=(i,))  # 异步并行
    24         pool.apply_async(func=foo,args=(i,),callback=fun)
    25     pool.close()
    26     pool.join()
    27     print('end')
    28 输出
    29 parent 21084
    30 0
    31 son 25984
    32 hello
    33 fun 21084 100
    34 1
    35 son 21628
    36 hello
    37 fun 21084 101
    38 2
    39 son 23384
    40 hello
    41 fun 21084 102
  • 相关阅读:
    利用列表的知识写一个购物小程序
    基本数据类型(While循环,For循环,列表以及相关用法)
    爬虫学习--Day3(小猿圈爬虫开发_1)
    爬虫学习--常用的正则表达式 Day3
    win10系统任务栏点击没有反应
    python 内建类型
    MWeb
    jmeter创建测试计划
    jmeter建立FTP测试计划
    jmeter配置元件
  • 原文地址:https://www.cnblogs.com/ch2020/p/12760266.html
Copyright © 2011-2022 走看看