'''
创建新的进程的第二种方法:
使用类的方式,可以自己定义一个类,继承Process类,每次实例化这个类的时候,
就等于实例化一个进程对象

'''
from multiprocessing import Process
import os, time

# 定义一个类,继承Process类
class Download(Process):
def __init__(self,interval):#这里重载父类__init__方法的原因是对象要传个参数,与下面run方法的执行没有关系
Process.__init__(self)
self.interval=interval#参数所对应的属性

# 重写Process类中的run()方法
def run(self):
# 开启这个进程所要执行的代码
t_start=time.time()
# time.sleep(3) # 阻塞的另一种实现形式
print('开启进程:%s 进行下载操作' % os.getpid())
# if kwargs['device'] == 'iphoneX':
# path = 'http://www.langlang2017.com/iphoneX'
# # print('下载%s对应的%s.%s' % (kwargs['device'], fileName, type))
#print('下载:%s.%s.%s' % (path, fileName, type))
print('子进程(%s)开始执行,父进程为(%s)' % (os.getpid(), os.getppid()))
time.sleep(self.interval)
t_stop=time.time()
print('子进程(%s)执行结束,耗时%f秒'%(os.getpid(),t_stop-t_start))

if __name__ == '__main__':
t_start=time.time()
print('当前进程(%s)' % os.getpid())
p = Download(2)
# 对于一个不包含target属性的Process类,
# 执行start()方法,表示子进程就会运行类中的run()
p.start()
#p.join(10)
time.sleep(10)#区分sleep与join()区别
t_stop=time.time()

print('主进程%s执行结束,耗时%f秒'%(os.getpid(),t_stop-t_start))
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 /Users/apple/PycharmProjects/stage4/createProcessSecondMethod/process06.py
当前进程(10593)
开启进程:10594 进行下载操作
子进程(10594)开始执行,父进程为(10593)
子进程(10594)执行结束,耗时2.000305秒
主进程10593执行结束,耗时10.006700秒

Process finished with exit code 0
---------------------
作者:Arthur54271
来源:CSDN
原文:https://blog.csdn.net/zbrj12345/article/details/79743852
版权声明:本文为博主原创文章,转载请附上博文链接!

Python mutilprocess模块之第二种创建进程方法--继承Process类的更多相关文章

  1. “全栈2019”Java多线程第二章:创建多线程之继承Thread类

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  2. python导入模块的两种方式

    第一种 from support import * 这种方式导入后可以直接调用(有命名冲突问题)命名冲突后定义的覆盖前定义的 如果在函数导入前定义 则导入函数覆盖 否则相反 if __name__ = ...

  3. Python导入模块的几种方法

    Python 模块 Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句. 模块让你能够有逻辑地组织你的 Python 代 ...

  4. Python导入模块的三种形式

    Python导入模块的3中方式: 1.import module_name 这样在程序里就可以通过module_name.metnod_name()的方式访问模块里的函数了 Example: > ...

  5. Python之模块和包的创建与使用

    一.模块的概念 在计算机的开发过程中,随着程序代码越写越多,在一个文件里代码就越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,放在不同的文件里面,这样,每个文件包含的代码就相对 ...

  6. day02 Python 的模块,运算,数据类型以及方法

    初识pyhton的模块: 什么是模块: 我的理解就是实现一个功能的函数,把它封装起来,在你需要使用的时候直接调用即可,我的印象里类似于shell 的单独函数脚本. python 的模块分为标准的和第三 ...

  7. python中常用的九种数据预处理方法分享

    Spyder   Ctrl + 4/5: 块注释/块反注释 本文总结的是我们大家在python中常见的数据预处理方法,以下通过sklearn的preprocessing模块来介绍; 1. 标准化(St ...

  8. 4月17日 python学习总结 反射、object内置方法、元类

    一.反射 下述四个函数是专门用来操作类与对象属性的,如何操作? 通过字符串来操作类与对象的属性,这种操作称为反射 class People: country="China" def ...

  9. python基础学习Day17 面向对象的三大特性之继承、类与对象名称空间小试

    一.课前回顾 类:具有相同属性和方法的一类事物 实例化:类名() 过程: 开辟了一块内存空间 执行init方法 封装属性 自动的把self返回给实例化对象的地方 对象:实例 一个实实在在存在的实体 组 ...

随机推荐

  1. 《Java虚拟机原理图解》1.3、class文件中的访问标志、类索引、父类索引、接口索引集合

    讲完了class文件中的常量池,我们就相当于克服了class文件中最麻烦的模块了.现在,我们来看一下class文件中紧接着常量池后面的几个东西:访问标志.类索引.父类索引.接口索引集合. 1. 访问标 ...

  2. Spring中Bean的定义继承

    以下内容引用自http://wiki.jikexueyuan.com/project/spring/bean-definition-inheritance.html: Bean定义继承 bean定义可 ...

  3. Android 集成支付宝支付详解

    一说到支付宝,相信没有人不知道,生活中付款,转账都会用到. 今天来详细介绍下在Android中如何集成支付宝支付到自己的APP中去.让APP能够拥有方便,快捷的支付功能. 准备工作: 商户在b.ali ...

  4. 计算机视觉人脸相关开源项目总结:face_recognition

    计算机视觉人脸相关开源项目总结 https://github.com/ageitgey/face_recognition 深度学习人脸关键点检测方法----综述

  5. chkconfig命令属于readhat第linux系统的命令-ubuntu上的替代品 sysv-rc-conf

    原文:http://www.blogjava.net/miaoyachun/archive/2013/12/24/407973.html ------------------------------- ...

  6. HDU2897( 巴什博奕变形)

    邂逅明下 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submissi ...

  7. 关于Activity启动模式(launchMode)和intent设置测试后 发现和网上说的不符 是不是我错了 求解

    看了很多关于Activity启动模式(launchMode)和intent设置intent.setFlags (Intent.FLAG_ACTIVITY_NEW_TASK);发现网上说的和我测试结果 ...

  8. java cup占用高分析脚本

    [was@dmgr ita-scripts]$ vi java_analys.sh   PID=$1 ; ps -mp $PID -o THREAD,tid,time | awk -F " ...

  9. PHP读取excel(4)

    这一小节内容主要是PHPExcel读取少量excel数据,具体代码如下: <?php //数据较少的时候,一次性读取出来放到数组里 header("Content-Type:text/ ...

  10. 使用 C# 开发智能手机软件:推箱子(四)

    这是"使用 C# 开发智能手机软件:推箱子"系列文章的第四篇. 在这篇文章中,介绍 Common/FindPath.cs 源程序文件. using System; using Sy ...