知行编程网知行编程网  2022-12-23 04:00 知行编程网 隐藏边栏  6 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于python进程池中apply如何使用?的相关知识,希望可以帮到处于编程学习途中的小伙伴

如何在python进程池中使用apply?


有没有想过可以直接使用进程池来做任务?我们习惯于自己处理一个任务,但是很麻烦。如果我们可以自己创建一个进程来处理,是否可以实现呢?答案必须是肯定的,但借助于


apply函数,你知道这个方法怎么用吗?你知道怎么用吗?不懂的可以往下继续看~



apply_async与apply区别:


l


apply:添加任务后,等待进程函数执行完,


l


apply_async:添加任务后,立即返回,支持回调;原型如下:

#callback为回调函数
pools.apply_async(func, args=(), kwds={},
callback=None, error_callback=None,)



直接看例子:

from multiprocessing import Pool
import time
import os
 
def func(*args, **kwargs):
    # 定义进程函数
    print('sub process id:', os.getpid())
    time.sleep(1)
 
if __name__ == "__main__":
    start = time.time()
    # 创建进程池,进程数为4
    pools = Pool(4)
    for i in range(5):
        # 添加任务
        pools.apply_async(func)
    # 关闭进程池,不在添加任务
    pools.close()
    pools.join()
print("cost time:", int(time.time()-start))



结果:

sub process id: 15536
sub process id: 2788
sub process id: 20288
sub process id: 11020
sub process id: 15536
cost time: 2



现在大家应该知道怎么去使用

apply这个方法了吧,害怕大家不清楚明白,还给大家准备了一个示例,大家可以看下示例演示,也可以很容易理解的哦~

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享