导语:
本文主要介绍了关于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这个方法了吧,害怕大家不清楚明白,还给大家准备了一个示例,大家可以看下示例演示,也可以很容易理解的哦~
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何在python中计算平方根11/04
- ♥ pycharm如何引用Python包?11/26
- ♥ 如何在不设置循环次数的情况下使用python for语句?11/30
- ♥ python2.7多少钱?12/28
- ♥ 如何在 python 中安装和配置 Django-guardian?10/27
- ♥ 如何在python中打印字符串12/06
内容反馈