美文网首页
Python3之进程池

Python3之进程池

作者: WuCh1k1n | 来源:发表于2018-08-19 21:41 被阅读0次

在 Python3 中,我们可以通过创建一个进程池对象来管理运行不同任务的进程。

class multiprocessing.pool.Pool([processes[, initializeer[, initargs[, maxtasksperchild[, context]]]])

  • processes 用于运行任务的进程数量。如果 processes 为 None,会使用运行环境的 cpu 核心数作为默认值,可以通过 os.cpu_count()查看。

  • initializer 每个进程在开始之前都会执行 initializer(*initargs)。

  • maxtasksperchild 每个线程在退出或者被新线程替代前,可以完成的任务数量。以此确保空闲的资源能够被释放出来。

  • context 可以用来指定启动进程的上下文,通常利用 multiprocessing.Pool()或 Pool()方法来创建进程池。在以上两种情况下,上下文都会被恰当地设置。

maxtasksperchild 是Python3.2版本的新特性, context 是Python3.4 的新特性。


from multiprocessingimport Pool

def task(i):

result = i * I

print("Task %s is running." % i)

return result

def initializer(*initargs):

print("%s appends new process..." % initargs[0])

if __name__ =='__main__':

print("Waiting for all subprocesses done...")

pool = Pool(4, initializer, 'Process pool')

result = []

for iin range(5):

result.append(pool.apply_async(task, args=(i,)))

pool.close()

pool.join()

print('All subprocesses done.')

for iin range(5):

print("task %s returns %s" % (i, result[i].get()))

Screen Shot 2018-08-19 at 21.39.17.png

相关文章

  • Python3之进程池

    在 Python3 中,我们可以通过创建一个进程池对象来管理运行不同任务的进程。 class multiproce...

  • 简述进程池使用方法(Pool)

    # 进程池; 进程池Pool:里面放的都是进程,进程池可以根据任务自动创建进程,合理利用进程池中的进程完成多任务;...

  • python 进程(池)、线程(池)

    进程、多进程、进程池 进程总概述 进程 多进程(进程池创建) 解析:对Pool对象调用join()方法会等待所有子...

  • Python中如何使用线程池和进程池

    线程池 进程池

  • 多线程爬虫之糗事百科(二)

    在python3中,主线程结束,子线程不会结束 在python3中,主进程结束,子进程不会结束 为了能够让主线程回...

  • python学习-线程、进程简洁使用

    python的线程池和进程池很pythonic 进程 from multiprocessing import Po...

  • 进程池

    程序的创建和销毁是需要大量的资源 ps:vim中 . 可以执行上次的命令 案例 加进度条版本

  • 进程池

    初识进程池 场景一:主进程不会等进程池内部的任务执行完毕后再执行,而是直接执行,进程池内部的任务,自己处理 场景二...

  • linux 进程池 线程池

    应用场景、池值确定、(IO bound/cpu bound)、线程池/进程池选择算法、负载均衡算法 概念 ==进程...

  • 使用池来实现并发服务器

    python自带池 进程池和线程池创建用的是同一个模块(multiprocessing),但方法不同,进程池的方法...

网友评论

      本文标题:Python3之进程池

      本文链接:https://www.haomeiwen.com/subject/aojhiftx.html