使用multiprocessing模块创建进程
#_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模块创建进程的更多相关文章
- 使用multiprocessing模块创建多进程
# 使用multiprocessing模块创建多进程 # multiprcessing模块提供了一个Process类来描述一个进程对象. # 创建子进程时,只需要传入一个执行函数和函数的参数,即可完成 ...
- 使用multiprocessing模块操作进程
1.Process模块介绍 process模块是一个创建进程的模块,借助这个模块,就可以完成进程的创建. Process([group [, target [, name [, args [, kwa ...
- 多进程之multiprocessing模块和进程池的实现
转载:https://www.cnblogs.com/xiaobeibei26/p/6484849.html Python多进程之multiprocessing模块和进程池的实现 1.利用multip ...
- Python多进程之multiprocessing模块和进程池的实现
1.利用multiprocessing可以在主进程中创建子进程,提升效率,下面是multiprocessing创建进程的简单例子,和多线程的使用非常相似 ''' 代码是由主进程里面的主线程从上到下执行 ...
- Python--线程队列(queue)、multiprocessing模块(进程对列Queue、管道(pipe)、进程池)、协程
队列(queue) 队列只在多线程里有意义,是一种线程安全的数据结构. get与put方法 ''' 创建一个“队列”对象 import queue q = queue.Queue(maxsize = ...
- 多进程编程——理论讲解与 multiprocessing 模块
多进程编程 import os pid = os .fork() 功能 :创建新的进程 参数: 无 返回值 :失败返回一个负数 成功:在原有进程中返回新的进程的PID号 在新进程中返回为0* 子进程会 ...
- python的multiprocessing模块进程创建、资源回收-Process,Pool
python的multiprocessing有两种创建进程的方式,每种创建方式和进程资源的回收都不太相同,下面分别针对Process,Pool及系统自带的fork三种进程分析. 1.方式一:fork( ...
- 进程初识和multiprocessing模块之Process
一.什么是进程 进程就是运行中的程序 进程是操作系统中最小的资源分配单位 进程与进程之间的关系 : 数据隔离的 进程的id:Process id = pid pid是一个全系统唯一的对某个进程的标识, ...
- 30、进程的基础理论,并发(multiprocessing模块)
我们之前基于tcp所做的通信都只能一个一个链接只有关闭当前链接时才能去链接下一个通信,这显然与现实情况不合.今天我们将来学一个新的概念进程,来做一个python多进程的并发编程.还会贴一个用json序 ...
随机推荐
- vue 数字输入组件
index.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> &l ...
- leetcode-160周赛-5241-铺瓷砖
题目描述: 方法一:动态规划 class Solution: def f(self, n, m): if n < m: n, m = m, n if (n, m) in self.mem: re ...
- Delphi获取指定文件的版本号
获取指定文件的版本号 方式一: function GetFileVersion(FileName: string): string; type PVerInfo = ^TVS_FIXEDFILEINF ...
- 搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程
http://blog.chinaunix.net/uid-20639775-id-154497.html
- bzoj 2631
lct 基础(' ' ) 就当个纪念吧(' ' ) 毕竟写了4h, cut 部分一直naive 总是想找谁是儿子,然后最后发现直接提根就好了啊(' ' ) #include <i ...
- Service6
rsync同步操作 同步 : 只传输变化的数据 复制:完整的传输 • 命令用法– rsync [选项...] 源目录 目标目录 • 同步与复制的差异– 复制:完全拷贝源到目标– 同步:增量拷贝 ...
- BZOJ 3430: [Usaco2014 Jan]Ski Course Rating(并查集+贪心)
题面 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 136 Solved: 90 [Submit][Status][Discuss] Descript ...
- Python内置模块-time && datatime
Python提供两种时间表示方式,一种是时间戳,从1970年1月1日 0时开始.一种是struct_time数组格式,共有9个元素. import time print(time.time()) #返 ...
- (转)OpenFire源码学习之十:连接管理(上)
转:http://blog.csdn.net/huwenfeng_2011/article/details/43415827 关于连接管理分为上下两部分 连接管理 在大并发环境下,连接资源 需要随着用 ...
- openSSL实现AES加密
Openssl是很常见的C接口的库,个人觉得易用.以下是AES加密的使用备忘.如果你有一定的密码学基础,那么就很好理解.代码是从网上弄下来的(原始地址已经忘记了),然后在尝试的过程中改了一点东西.其它 ...