#_author:来童星
#date:2019/12/17
# 使用Process子类创建进程
from multiprocessing import Process
import time
import os
#继承Process类
class SubProcess(Process):
#由于Process类本身也有__init__初始化方法,这个子类相当于重写了父类的这个方法
def __init__(self,inteval,name=''):# 注意name要有默认值
Process.__init__(self)
# super(SubProcess, self).__init__()
self.inteval=inteval
if name:
self.name=name
#重写了Process类的run()方法
def run(self):
print('子进程(%s)开始执行,父进程为(%s)' % (os.getpid(), os.getppid()))
t_start = time.time()
time.sleep(self.i)
t_end = time.time()
print("子进程(%s)执行时间为'%0.2f'秒" % (os.getpgid(), t_end - t_start)) if __name__=='__main__':
print('-------父进程开始执行-------')
print('父进程PID:%s'%os.getppid())
p1=SubProcess(inteval=1,name='mrsoft')# 实例化进程p1
p2=SubProcess(inteval=2)# 实例化进程p2
p1.start()
p2.start()
# 同时父进程仍然往下执行,如果p2进程还在执行,将会返回True
print("p1.is_alive=%s"%p1.is_alive())
print("p2.is_alive=%s"%p2.is_alive())
#输出p1,p2进程的别名和pid
print("p1.name=%s"%p1.name)
print('p1.pid=%s'%p1.pid)
print("p2.name=%s"%p2.name)
print('p2.pid=%s'%p2.pid)
print('-------等待子进程-------')
p1.join()
p2.join()
print('-------父进程执行结束-------')
运行结果:
-------父进程开始执行-------
父进程PID:5580
p1.is_alive=True
p2.is_alive=True
p1.name=mrsoft
p1.pid=4044
p2.name=SubProcess-2
p2.pid=10196
-------等待子进程-------
-------父进程执行结束-------

使用Process子类创建进程的更多相关文章

  1. Python多进程库multiprocessing创建进程以及进程池Pool类的使用

    问题起因最近要将一个文本分割成好几个topic,每个topic设计一个regressor,各regressor是相互独立的,最后汇总所有topic的regressor得到总得预测结果.没错!类似bag ...

  2. linux创建进程fork的方法步骤

    fork创建进程 函数原型如下 #include// 必须引入头文件,使用fork函数的时候,必须包含这个头文件,否则,系统找不到fork函数 pid_t fork(void); //void代表没有 ...

  3. android,JNI创建进程,使用fork()

    long add(long x,long y) { pid_t fpid; //fpid表示fork函数返回的值 int count=0; fpid=fork(); if (fpid < 0) ...

  4. Java中如何创建进程(转)

    在Java中,可以通过两种方式来创建进程,总共涉及到5个主要的类. 第一种方式是通过Runtime.exec()方法来创建一个进程,第二种方法是通过ProcessBuilder的start方法来创建进 ...

  5. LINUX编程学习笔记(十四) 创建进程与 父子进程内存空间

    1什么是进程:进程是一个执行中的程序 执行的程序: 代码->资源->CPU 进程有很多数据维护:进程状态/进程属性 所有进程属性采用的一个树形结构体维护 ps  -a//所有进程 ps - ...

  6. inux的进程-进程的概念和fork创建进程

    一.  什么是进程? 初学者,可能认为程序或者一段代码就是一个进程.其实这样说是很不全面的,进程简单的说就是一个个条件. 1.需要一个代码 2.需要运行这个代码环境和资源 从下面的一段代码,我们来分析 ...

  7. Java并发编程:如何创建进程?

    转载自:http://www.cnblogs.com/dolphin0520/p/3913517.html 在前面一篇文章中已经讲述了在进程和线程的由来,今天就来讲一下在Java中如何创建线程,让线程 ...

  8. Java 多线程详解(二)------如何创建进程和线程

    Java 多线程详解(一)------概念的引入:http://www.cnblogs.com/ysocean/p/6882988.html 在上一篇博客中,我们已经介绍了并发和并行的区别,以及进程和 ...

  9. C语言 进程控制---创建进程fork()函数

    #include "sys/types.h" #include "stdio.h" #include "stdlib.h" #include ...

随机推荐

  1. Ansible 和 Playbook 暂存

    Ansible  和  Playbook 暂存 , 也是一个批量管理工具 自动化的批量管理工具 主机清单  HOST Inventory 模块插件  Playbooks 查看ansible的目录结构 ...

  2. HashMap的hash分析

    哈希 Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值.这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空 ...

  3. js 单行间隙滚动

    代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3. ...

  4. python 数据的存储

    数据的存储 思考:为什么使用计算机?存储数据,计算数据 思考:数据存在哪里?数据存储在内存里 思考:数据怎么在内存里存储的?首先弄明白怎么存储数字 1010.5“sunck is a good man ...

  5. js-原生js触发器使用

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  6. delphi 调用js脚本

    function ExecScript(Code,Lang,Func:string):string; var script:OleVariant; begin script:=CreateOleObj ...

  7. html标签中的 MIME 类型

    1.<script type="text/x-template">  MIME 类型 2.MIME类型是什么 : http://www.w3school.com.cn/ ...

  8. jenkins的api操作

    jenkins-client 实现方式 jenkins-client 底层是使用 HttpClient HttpPost 发送post 请求实现的,是将 REST API 封装了一下 添加依赖 < ...

  9. 基础补充(四)——流程控制之if、while、for,break与continue

     流程控制 一.流程控制之if……else…… if 条件1: 缩进的代码块 elif 条件2: 缩进的代码块 elif 条件3: 缩进的代码块 ...... else: 缩进的代码块 二.流程控制之 ...

  10. 20140702 赋值构造函数的形参为什么一定用引用。string类的赋值运算函数的注意点

    1.复制构造函数为什么一定要用引用,而不是用值 类名::复制构造函数(类名&引用名) 传递引用,可以避免复制,如果一个数据相当大的化,进行复制会浪费很多时间的. 类名::复制构造函数(类名 变 ...