python 进程池的简单使用方法
回到python,用一下python的进程池。
记得之前面试的时候,面试官问:你知道进程池的默认参数吗? 我没有回答上来,后来才知道,是有默认参数的。下面就看看它的默认参数
1. 不加参数
from multiprocessing.pool import Pool
from time import sleep def fun(a):
sleep(5)
print(a) if __name__ == '__main__':
p = Pool() # 这里不加参数,但是进程池的默认大小,等于电脑CPU的核数
# 也是创建子进程的个数,也是每次打印的数字的个数
for i in range(10):
p.apply_async(fun, args= (i, ))
p.close()
p.join() # 等待所有子进程结束,再往后执行
print("end")
2. 加参数5
from multiprocessing.pool import Pool
from time import sleep def fun(a):
sleep(5)
print(a) if __name__ == '__main__':
p = Pool(5) # 最多执行5个进程,打印5个数
for i in range(10):
p.apply_async(fun, args= (i, ))
p.close()
p.join() # 等待所有子进程结束,再往后执行
print("end")
python 进程池的简单使用方法的更多相关文章
- python 进程池pool简单使用
平常会经常用到多进程,可以用进程池pool来进行自动控制进程,下面介绍一下pool的简单使用. 需要主动是,在Windows上要想使用进程模块,就必须把有关进程的代码写if __name__ == ‘ ...
- python 进程池Pool的apply_async方法以及一些需要注意的地方
在写多进程的时候我发现一个问题,用Pool的apply_async(异步非阻塞)的时候传入实例函数会出错,或者说是子进程被跳过似的感觉(python2.7). 但是用python3.7的话没有任何问题 ...
- 万里长征第一步:Python进程池的一点点小坑
# -*- coding: utf- -*- """ Created on Thu Mar :: @author: lilide """ # ...
- Python 进程池
进程池: 每一个进程在启动一个子进程时都会克隆一分数据,并开启额外一份内存空间,如果多次开启子进程,对内存的开销比较大,这里可以通过进程池来控制进程的最大个数,来解决. 进程池中有两个方法: ap ...
- python进程池剖析(三)
之前文章对python中进程池的原理.数据流以及应用从代码角度做了简单的剖析,现在让我们回头看看标准库中对进程池的实现都有哪些值得我们学习的地方.我们知道,进程池内部由多个线程互相协作,向客户端提供可 ...
- python进程池剖析(二)
之前文章中介绍了python中multiprocessing模块中自带的进程池Pool,并对进程池中的数据结构和各个线程之间的合作关系进行了简单分析,这节来看下客户端如何对向进程池分配任务,并获取结果 ...
- python进程池剖析(一)
python中两个常用来处理进程的模块分别是subprocess和multiprocessing,其中subprocess通常用于执行外部程序,比如一些第三方应用程序,而不是Python程序.如果需要 ...
- python(进程池/线程池)
进程池 import multiprocessing import time def do_calculation(data): print(multiprocessing.current_proce ...
- python进程池
当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态成生多个进程,但如果是上百甚至上千个目标,手动的去创建进程的工作量巨大,此时就可以用到multiproce ...
随机推荐
- spring jdbcTemplate 事务,各种诡异,包你醍醐灌顶!
前言 项目框架主要是spring,持久层框架没有用mybtis,用的是spring 的jdbc: 业务需求:给应用添加领域(一个领域包含多个应用,一个应用可能属于多个领域,一般而言一个应用只属于一个领 ...
- spring-boot-2.0.3之quartz集成,不是你想的那样哦!
前言 开心一刻 晚上回家,爸妈正在吵架,见我回来就都不说话了,看见我妈坐在那里瞪着我爸,我就问老爸“你干什么了惹我妈生这么大气?” 我爸说“没有什么啊,倒是你,这么大了还没有媳妇,要是你有媳妇给我们 ...
- vue+vue-router+vuex实战
shopping vue + vue-router + vuex实现电商网站 效果展示 install 下载代码: git clone https://github.com/chenchangyuan ...
- 翻译:low_priority和high_priority(已提交到MariaDB官方手册)
本文为mariadb官方手册:HIGH_PRIORITY and LOW_PRIORITY的译文. 原文:https://mariadb.com/kb/en/high_priority-and-low ...
- 基于SpringMVC+Spring+MyBatis实现秒杀系统【客户端交互】
前言 该篇主要实现客户端和服务的交互.在第一篇概况里我已经贴出了业务场景的交互图片. 客户端交互主要放在seckill.js里来实现.页面展现基于jsp+jstl来实现. 准备工作 1.配置web.x ...
- μC/OS-II 任务的同步与通信 --- 信号量
任务间通信 系统中的多个任务在运行时,经常需要互相无冲突地访问同一个共享资源,或者需要互相支持和依赖,甚至有时还要互相加以必要的限制和制约,才保证任务的顺利运行.因此,操作系统必须具有对任务的运行进行 ...
- Linux常用命令汇总(一)
线程操作 1.ps ps -ef 查看当前活动进程 ps -ef | grep [线程关键信息] ps -ef | grep java 查看java相关进程 2.kill killall -9 jav ...
- mysql+mycat实现读写分离
centos7 master slave mycat1.6 client 192.168.41.10 192.168.41.11 192.168.41.12 192.168.41.13 实 ...
- c# partial 关键字的使用
C# 2.0 引入了局部类型的概念.局部类型允许我们将一个类.结构或接口分成几个部分,分别实现在几个不同的.cs文件中. 局部类型适用于以下情况: (1) 类型特别大,不宜放在一个文件中实现.(2) ...
- ubuntu16.4系统和Gentos6.8系统查看开机自启动服务
ubuntu16.4系统查看自启服务: 需要自行安装一个sysv-rc-conf的工具来查看: sudo apt-get install sysv-rc-conf 查看自启命令: sudo sysv- ...