码迷,mamicode.com
首页 > 系统相关 > 详细

进程池

时间:2019-06-15 00:28:58      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:pass   onclick   RoCE   callback   cpu   ret   执行   mic   event   

from multiprocessing import Process,Pool

pool=Pool(5) 不写参数,默认cpu核数走

进程数一般不超过100,线程数不超过1000

pool.apply()  同步接口

pool.apply_asgnc()  异步接口

pool.close()在pool.join()之前  进程池格式

pool.apply_async(func=Foo,args=(i,))

回调函数:就是某个动作或者函数执行成功后再去执行的函数

主进程调用回调函数

pool.apply_async(func=Foo,args=(i,),callback=Bar)

def Bar(arg):要有参数是Foo函数的返回值

技术图片
from  multiprocessing import Process,Pool,Lock
import time,os

def Foo(i,t):

    time.sleep(3)
    print(i)
    print("son",os.getpid())
    # with lock:
    #     print("HELLO %s"%i)


    # return "HELLO %s"%i


def Bar(arg):
    pass
    # print(arg)
    # print("hello")
    # print("Bar:",os.getpid())

if __name__ == __main__:

    pool = Pool(5)
    lock=Lock()
    print("main pid",os.getpid())

    for i in range(100):
        #pool.apply(func=Foo, args=(i,))  #同步接口
        # pool.apply_async(func=Foo, args=(i,))

        #回调函数:  就是某个动作或者函数执行成功后再去执行的函数

        pool.apply_async(func=Foo, args=(i,),callback=Bar)

    pool.close()
    pool.join()         # join与close调用顺序是固定的

    print(end)
进程池

技术图片技术图片技术图片技术图片技术图片技术图片技术图片技术图片技术图片技术图片

进程池

标签:pass   onclick   RoCE   callback   cpu   ret   执行   mic   event   

原文地址:https://www.cnblogs.com/jintian/p/11025894.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!