multiprocessing多进程(31-04)创建进程的两种方式
一个进程可以寄生多个线程。
CPU核数与进程个数是统一的,
若进程多于核数,那么只有等待上一进程执行完才能被执行。
------------------第一种进程创建方式------------------------
from multiprocessing import Processimport time def A(name): time.sleep(1) print('haello', name, time.ctime()) if __name__ == "__main__": p_list = [] for i in range(3): # 创建三个进程 P = Process(target=A, args=('kay')) p_list.append(p) p.start() # 准备进程,让CPU执行 for p in p_list: p.join() # 阻塞住,所以进程执行完才执行下面代码 print('end')
运行结果:
hello kay Wed Sep 19 10:18:00 2018 hello kay Wed Sep 19 10:18:00 2018 hello kay Wed Sep 19 10:18:00 2018 end
---------------------------第二种进程创建方式(类式调用)---------------------------------------
from multiprocessing import Processclass MyProcess(Process): # 继承Process方法 def __init__(self, name): super(MyProcess, self).__init__() # 执行子类的__init__方法 self.name = name # 防止执行父类中的方法 def run(self): time.sleep(1) print('hello', self.name, time.ctime()) if __name__ == "__main__":
p_list = []
for i in range(3):
p = MyProcess('kay')
p.start()
p_list.append(p)
for p in p_list:
p.join() # 阻塞住
print('end')
运行结果:
hello kay Wed Sep 19 11:38:40 2018
hello kay Wed Sep 19 11:38:40 2018
hello kay Wed Sep 19 11:38:40 2018
end
在父类中也有封装name,如果不重新封装,会默认执行父类封装好的,而父类封装好的name是显示当前进程号。
转载于:https://www.cnblogs.com/uncle-kay/p/9673828.html
multiprocessing多进程(31-04)创建进程的两种方式相关推荐
- java匿名启动线程_使用匿名内部类:来创建线程的两种方式
[Java]基础31:创建线程的两种方式 谢谢你的观看. 今天是我自学Java的第31天. 你的观看便是对我最大的鼓励. 话不多说,开始今天的学习: 线程的创建有两种方式,昨天学习过其中的一种: 创建 ...
- Python创建进程的四种方式
Python创建进程的四种方式 百度百科 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构 ...
- 创建线程的两种方式:继承Thread类和实现Runnable接口
第一种方式:继承Thread类 步骤:1.定义类继承Thread 2.覆写Threa类的run方法. 自定义代码放在run方法中,让线程运行 3.调用线程的star方法, 该线程有两个作用:启动线程, ...
- Java并发基础01. 传统线程技术中创建线程的两种方式
传统的线程技术中有两种创建线程的方式:一是继承Thread类,并重写run()方法:二是实现Runnable接口,覆盖接口中的run()方法,并把Runnable接口的实现扔给Thread.这两种方式 ...
- 【并发技术01】传统线程技术中创建线程的两种方式
传统的线程技术中有两种创建线程的方式:一是继承 Thread 类,并重写 run() 方法:二是实现 Runnable 接口,覆盖接口中的 run() 方法,并把 Runnable 接口的实现扔给 T ...
- java jobdetail_Spring创建JobDetail的两种方式
一.Spring创建JobDetail的两种方式 定时任务两种方式,Spring很好的封装使用Quartz的细节,第一种方式是利用SPring封装的Quartz类进行特定方法的实现,第二种是通过透明的 ...
- ubuntu下创建定时任务的两种方式及常见问题解决方案
ubuntu下创建定时任务的两种方式及常见问题解决方案 参考文章: (1)ubuntu下创建定时任务的两种方式及常见问题解决方案 (2)https://www.cnblogs.com/maboii/p ...
- ubuntu创建用户的两种方式
ubuntu创建用户有两种方式: useradd和adduser 这两者,就像零件与产品的关系.useradd是DIY,需要自己调配,adduser是品牌机,拿来就能用. 对于创建一般用户来讲,use ...
- PyCharm创建app的两种方式
PyCharm创建app的两种方式 方式1 1-1 在terminal中敲如下代码 python manage.py startapp xxx 1-2 在settings.py中INSTALLED_A ...
最新文章
- 两个硬盘和文件相关的小技巧 (C#)
- 基于多阈值注意U-Net(MTAU)的MRI多模态脑肿瘤分割模型
- 棋盘格氧化铝标定板漫反射不反光12*9方格视觉光学校正板
- 数据科学自动化_数据科学会自动化吗?
- The authenticity of host 'github.com (52.74.223.119)' can't be established.
- Apple Pay 支付集成
- toastr-min.css,Toastr插件提示框使用说明
- JavaScript-输入输出语法
- xv6 - simple modern os for education purpose.
- 079 pandas模块
- Vim激荡30年发展史
- 优秀的项目经理应该具备的能力
- 车牌识别算法实践(二):基础算法
- java8--Lambda表达式
- 在word表格中如何快速清除表格内容?
- PS CS6视频剪辑基本技巧(二)视频剪接和添加图片
- MySQL数据库——MySQL INSERT:插入数据(添加数据)
- qlv视频转换器免费版_腾讯视频素材下载和转换教程
- 机器学习和深度学习综述
- 组装网游服务器,网游服务器的搭建
热门文章
- java常见的内存泄漏
- mysql中日期相减_如何使用MySQL数据库
- 两个时间计算毫秒在线_蹲坑英语时间之in a jiffy
- Linux 面试最高频的 5 个基本问题!
- 如何无缝迁移 SpringCloud/Dubbo 应用到 Serverless 架构
- workerman在linux上怎么运行,linux系统中workerman的安装步骤
- string截取某个字符串之前的_python String字符串操作
- yii 全选 php,yii2中gridview使用技巧小结(四)——全选等批量操作
- python的填充色怎么弄_python中如何给图形填充颜色
- httpd是mysql_在Centos下安装httpd、php、Mysql并配置(转载)