'''
创建新的进程的第二种方法:
使用类的方式,可以自己定义一个类,继承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. BZOJ——1626: [Usaco2007 Dec]Building Roads 修建道路

    http://www.lydsy.com/JudgeOnline/problem.php?id=1626 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1 ...

  2. InnoDB: The Auto-extending innodb_system data file './ibdata1' is of a different size 640 pages (rounded down to MB) than specified in the .cnf file: initial 768 pages, max 0 (relevant if non-zero) pa

    2016-09-14T09:17:37.713955Z 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleane ...

  3. FIREDAC TFDCONNECTION连接ORACLE

    FIREDAC TFDCONNECTION连接ORACLE 1)安装OCI 2)如图设置参数 3)连接代码: procedure TfrmDB.ConnectDB;begin FDMoniFlatFi ...

  4. jmeter Plugins Manager插件管理

    在 https://jmeter-plugins.org/downloads/all/ 下载插件,放到lib/ext Download plugins-manager.jar and put it i ...

  5. Unity3d中制作异步Loading进度条所遇到的问题

    背景 通常游戏的主场景包括的资源较多,这会导致载入场景的时间较长.为了避免这个问题,能够首先载入Loading场景.然后再通过Loading场景来载入主场景. 由于Loading场景包括的资源较少,所 ...

  6. 简洁的ios小界面

    下午写写了个小东西小界面 有须要的能够直接拿过来用 ,简洁,挺好看,自我感觉: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDEyMzIwOA= ...

  7. Ajax_HTTP请求以及响应

    什么是HTTP请求? 就是从用户的浏览器端向服务器端发送请求 一个HTTP请求一般由四个部分组成 1.HTTP请求的方法或者动作,比如GET或者POST请求 2.请求的URL,也就是请求的地址 3.请 ...

  8. Java 线程池ThreadPoolExecutor简单应用

    什么是线程池: 线程池就是控制线程的一个池子.用来控制线程数量. 为什么要使用线程池: 1.避免系统反复创建和销毁线程影响执行的时间(创建+销毁>>执行时间时) 2.控制线程数量.线程过多 ...

  9. nyoj 题目10 skiing —— 南阳oj

    题目信息例如以下: skiing 时间限制:3000 ms  |  内存限制:65535 KB 难度:5 描写叙述 Michael喜欢滑雪百这并不奇怪, 由于滑雪的确非常刺激.但是为了获得速度,滑的区 ...

  10. 【健康生活】Google、百度之间的选择

    没有什么技术性的分析,仅仅是个人吐槽而已. 一般人遇到问题就会说一句"百度一下",说实话,百度在中国推广的真的非常不错,可谓是家喻户晓,搜索个八卦新闻,小文章,小电影什么的的确非常 ...