#_author:来童星
#date:2019/12/17
from multiprocessing import Process
import time
import os
#两个子进程将会调用的两个方法
def child_1(i):
print('子进程(%s)开始执行,父进程为(%s)'%(os.getpid(),os.getppid()))
t_start=time.time()
time.sleep(i)
t_end=time.time()
print("子进程(%s)执行时间为'%0.2f'秒"%(os.getpgid(),t_end-t_start))
def child_2(i):
print('子进程(%s)开始执行,父进程为(%s)'%(os.getpid(),os.getppid()))
t_start=time.time()
time.sleep(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=Process(target=child_1,args=(1,))# 实例化进程p1
p2=Process(target=child_2,args=(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=Process-1
p1.pid=2508
p2.name=Process-2
p2.pid=10164
-------等待子进程-------
-------父进程执行结束-------

使用multiprocessing模块创建进程的更多相关文章

  1. 使用multiprocessing模块创建多进程

    # 使用multiprocessing模块创建多进程 # multiprcessing模块提供了一个Process类来描述一个进程对象. # 创建子进程时,只需要传入一个执行函数和函数的参数,即可完成 ...

  2. 使用multiprocessing模块操作进程

    1.Process模块介绍 process模块是一个创建进程的模块,借助这个模块,就可以完成进程的创建. Process([group [, target [, name [, args [, kwa ...

  3. 多进程之multiprocessing模块和进程池的实现

    转载:https://www.cnblogs.com/xiaobeibei26/p/6484849.html Python多进程之multiprocessing模块和进程池的实现 1.利用multip ...

  4. Python多进程之multiprocessing模块和进程池的实现

    1.利用multiprocessing可以在主进程中创建子进程,提升效率,下面是multiprocessing创建进程的简单例子,和多线程的使用非常相似 ''' 代码是由主进程里面的主线程从上到下执行 ...

  5. Python--线程队列(queue)、multiprocessing模块(进程对列Queue、管道(pipe)、进程池)、协程

    队列(queue) 队列只在多线程里有意义,是一种线程安全的数据结构. get与put方法 ''' 创建一个“队列”对象 import queue q = queue.Queue(maxsize = ...

  6. 多进程编程——理论讲解与 multiprocessing 模块

    多进程编程 import os pid = os .fork() 功能 :创建新的进程 参数: 无 返回值 :失败返回一个负数 成功:在原有进程中返回新的进程的PID号 在新进程中返回为0* 子进程会 ...

  7. python的multiprocessing模块进程创建、资源回收-Process,Pool

    python的multiprocessing有两种创建进程的方式,每种创建方式和进程资源的回收都不太相同,下面分别针对Process,Pool及系统自带的fork三种进程分析. 1.方式一:fork( ...

  8. 进程初识和multiprocessing模块之Process

    一.什么是进程 进程就是运行中的程序 进程是操作系统中最小的资源分配单位 进程与进程之间的关系 : 数据隔离的 进程的id:Process id = pid pid是一个全系统唯一的对某个进程的标识, ...

  9. 30、进程的基础理论,并发(multiprocessing模块)

    我们之前基于tcp所做的通信都只能一个一个链接只有关闭当前链接时才能去链接下一个通信,这显然与现实情况不合.今天我们将来学一个新的概念进程,来做一个python多进程的并发编程.还会贴一个用json序 ...

随机推荐

  1. 忘记mysql超户密码的解决方法

    本文章针对用yum安装的mariadb数据库,如果是tar包安装的mysql数据库,只是数据库命令的关闭启动方式不同而已. 方法一:[root@localhost ~]# killall -u mys ...

  2. Nginx基础详细讲解

    Nginx基础详细讲解 链接:https://pan.baidu.com/s/1xB20bnuanh0Avs4kwRpSXQ 提取码:migq 复制这段内容后打开百度网盘手机App,操作更方便哦 1. ...

  3. Grep的过滤使用

    grep的过滤使用 已知文件test里有以下内容 [root@yangwenbo /]# cat test yuni yunwei YUNWEI YWEI yunjijsuan yunsuan YUN ...

  4. Android AppCompatActivity去掉actionbar fullScreen

    网上已经有很多关于这个问题的解决方案,如果你试了都没有解决,那么请往下看.首先说下网上说的解决方案: 方案一:在AndroidManifest.xml中,为需要进行全屏显示的activity添加如下主 ...

  5. python 操作redis数据

    python 操作redis 各种类型的数据 # encoding:utf-8 import redis import time def main(): """ redi ...

  6. Python爬虫实战—— Request对象之header伪装策略

    在header当中,我们经常会添加两个参数--cookie 和 User-Agent,来模拟浏览器登录,以此提高绕过后台服务器反爬策略的可能性. User-Agent获取 User-Agent可通过随 ...

  7. HIVE(2) 之 常用函数

    LAG(col,n,DEFAULT) 用于统计窗口内往上第n行值 第一个参数为列名,第二个参数为往上第n行(可选,默认为1),第三个参数为默认值(当往上第n行为NULL时候,取默认值,如不指定,则为N ...

  8. Boost Doc Home

    { //http://charette.no-ip.com:81/programming/doxygen/boost/group__async__read.html#gafe3e905a43504bd ...

  9. 搭建appium自动化测试环境

    注意:请使用不用的手机测试,appium会把微信app重新安装,记录都会清除 一.安装Java JDK JDK下载地址:https://www.oracle.com/technetwork/java/ ...

  10. Hadoop-HDFS的伪分布式和完全分布式集群搭建

    Hadoop-HDFSHDFS伪分布式集群搭建步骤一.配置免密登录 ssh-keygen -t rsa1一句话回车到底 ssh-copy-id -i ~/.ssh/id_rsa.pub root@no ...