Python-进程相关概念
名词解释:
执行代码
1. 建立开启子进程两种方式
from multiprocessing import Process import os import time# 开启子进程的两种方式 # 方式1 def run(num):print('子进程%s执行,进程id:%s' % (num, os.getpid()))time.sleep(1.5)print('子进程%s结束,进程id:%s' % (num, os.getpid()))if __name__ == '__main__':print('父进程执行,进程id:%s' % os.getpid())for i in range(3):p = Process(target=run, args=(i,))p.start()print('父进程结束,进程id:%s' % os.getpid()) # 进程代码逐行读取,主进程不会等待子进程结束(主进程,子进程异步) # 执行结果 父进程执行,进程id:4472 子进程0执行,进程id:4473 父进程结束,进程id:4472 子进程1执行,进程id:4474 子进程2执行,进程id:4475 子进程0结束,进程id:4473 子进程1结束,进程id:4474 子进程2结束,进程id:4475# 方式2,继承Process类 class MyProcess(Process):def __init__(self, name):super().__init__()self.name = namedef run(self):print('子进程%s,进程id:%s' % (self.name, os.getpid()))if __name__ == '__main__':print('父进程开始')p = MyProcess('jason')p.start() # 自动触发调用类中的run方法 p.join()print('父进程结束') # 执行结果 父进程开始 子进程jason,进程id:4486 父进程结束
2. 进程的常用方法
# p.start(); p.join(); p.is_alive(); p.terminate() def func():print('测试进程中常用方法')if __name__ == '__main__':p = Process(target=func,)p.start() # 开启一个进程p.terminate() # 杀掉一个进程print(p.is_alive()) # 判断进程是否还存活p.join() # 等待进程结束,再继续向下执行;异步变同步print(p.is_alive())print('父进程结束') # 执行结果 True False 父进程结束
3. 进程的属性
# p.name; p.pid; p.daemon = True(将进程p变为守护进程,daemon默认为False) def func():n = 1while n:time.sleep(1)print('测试进程的属性--%s' % n)n += 1if __name__ == '__main__':p = Process(target=func,)p.daemon = True # 子进程变为守护进程; 守护进程会随着父进程的结束而结束; 守护进程不能创建子进程 p.start()print(p.name) # 获取子进程名print(p.pid) # 获取进程IDtime.sleep(5)print('父进程结束') # 执行结果 Process-1 4512 测试进程的属性--1 测试进程的属性--2 测试进程的属性--3 测试进程的属性--4 父进程结束
转载于:https://www.cnblogs.com/gandoufu/p/9507754.html
Python-进程相关概念相关推荐
- python进程socket通信_python实现多进程通信实例分析
操作系统会为每一个创建的进程分配一个独立的地址空间,不同进程的地址空间是完全隔离的,因此如果不加其他的措施,他们完全感觉不到彼此的存在.那么进程之间怎么进行通信?他们之间的关联是怎样的?实现原理是什么 ...
- python进程和线程_Python进程与线程知识
好程序员Python 培训分享进程与线程知识 , Python 开发语言现在已经是被大家非常看中的编程语言了,本篇文章给读者们分享一下 Python 进程与线程知识小结,本篇文章具有一定的参考借鉴价值 ...
- Python进程、线程、协程详解
进程与线程的历史 我们都知道计算机是由硬件和软件组成的.硬件中的CPU是计算机的核心,它承担计算机的所有任务. 操作系统是运行在硬件之上的软件,是计算机的管理者,它负责资源的管理和分配.任务的调度. ...
- Python 进程之间共享数据(全局变量)
Python 进程之间共享数据(全局变量) 进程之间共享数据(数值型): import multiprocessing def func(num): num.value=10.78 #子进程改变数值的 ...
- python的用途实例-python进程池作用展示及实例解析
在以下的文章之中我们来了解一下什么是python中的进程池.了解一下python进程池的相关知识,以及进程池在python编程之中能起到什么样的作用. 进程池 Pool类描述了一个工作进程池,他有几种 ...
- 【Linux 内核】进程管理 ( 进程特殊形式 | 内核线程 | 用户线程 | C 标准库与 Linux 内核中进程相关概念 | Linux 查看进程命令及输出字段解析 )
文章目录 一.进程特殊形式 ( 内核线程 | 用户线程 ) 二.C 标准库与 Linux 内核中进程相关概念 三.Linux 查看进程命令及输出字段解析 一.进程特殊形式 ( 内核线程 | 用户线程 ...
- python进程、线程的学习心得
什么是多线程竞争? 线程不是独立的,同一个进程里的线程,线程间的数据是共享的,多线程操作时,容易造成数据的混乱,线程不安全. 如何解决? 互斥锁. 好处:能够保证某段关键代码执行时,只有一个线程操作, ...
- python进程池调用实例方法_Python进程池Pool应用实例分析
本文实例讲述了Python进程池Pool应用.分享给大家供大家参考,具体如下: 当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态成生多个进程,但如果是上百 ...
- python进程共享全局变量 时延_Python 进程之间共享数据(全局变量)的方法
进程之间共享数据(数值型): import multiprocessing def func(num): num.value=10.78 #子进程改变数值的值,主进程跟着改变 if __name__= ...
- python进程、线程、协程
基本观点: 1.一个python进程一个GIL(全局锁),每个线程需要获取这个锁才能执行. 2.cpu密集型的程序,使用多进程. 3.IO密集型的程序,多线程可能会比多进程快. 4.多核cpu执行多进 ...
最新文章
- xmind 模板_xmind模板打包下载
- Hadoop 三大发行版本
- Jupyter Notebook 的快捷键
- 梳理MVC 架构 MVVM架构
- 类加载机制-深入理解jvm
- mysql分库一致性_分库分表带来的完整性和一致性问题
- ubuntu服务器ssh登录密码修改,Ubuntu-18.04 下修改root用户密码,安装SSH服务,允许root用户远程登录,安装vsftp服务器...
- 列表解析(list comprehension) 与三目运算符
- 机器学习基础(四十八)—— 概率
- 三款新旧 MacBook Pro 怎么选?
- 免责条款html5,蚂蚁HTML5社区
- WPS Linux 2019领先的背后
- [高通SDM450][Android9.0]CTA认证--去掉通话记录功能
- 免费比对工具DiffMerge
- 关于不锈钢管TIG+MAG
- 最新消息: 百度办公楼门口拉横幅抗议百度竞价广告(图)
- SMTP-关于邮件编码的格式
- 默纳克调试说明书_默纳克 - NICE3000调试说明书(修改版) -
- Real-Time Rendering Fourth Edition 学习笔记之 -- 第一章:介绍
- layui把表格重载为最新状态,复选框选中去重