百度指数怎么提升,邢台优化网站排名,网站添加微信支付功能,淘宝网站开发者目录
一.Python 进程 Process 简介二.Python 进程 Process 模块三.Python 进程 Process 函数介绍四.Python 进程 Process 使用五.Python 进程 Process 小窍门六.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 Python 基础入门 一.Python 进程 Process 简介…目录
一.Python 进程 Process 简介二.Python 进程 Process 模块三.Python 进程 Process 函数介绍四.Python 进程 Process 使用五.Python 进程 Process 小窍门六.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 Python 基础入门 一.Python 进程 Process 简介
进程 Process 是对各种资源管理的集合包含对各种资源的调用、内存的管理、网络接口的调用一个进程 Process 可以包含多个子进程启动一个进程的时候会自动创建一个线程进程里的第一个线程就是主线程即Python __name__ ‘__main__’
二.Python 进程 Process 模块
对于线程操作可以用 threading 模块那么对于进程的创建 Python 同样也提供了 Process 模块创建进程时需要导入该模块语法如下
# !usr/bin/env python
# -*- coding:utf-8 _*-Author:猿说编程
Blog(个人博客地址): www.codersrc.com
File:Python 进程 Process 模块.py
Time:2021/05/06 07:37
Motto:不积跬步无以至千里不积小流无以成江海程序人生的精彩需要坚持不懈地积累# 导入进程模块
from multiprocessing import Process
参数介绍group — 参数未使用默认值为Nonetarget — 表示调用对象即子进程要执行的任务(函数名字)args — 子进程对应函数的参数并且类型是元组tuplekwargs — 子进程对应函数的参数并且类型是字典dict如kwargs {‘name’:Jack, ‘age’:18}name — 子进程名称返回值返回进程实例对象;
# 创建进程
p Process(groupNone, targetNone, nameNone, args(), kwargs{})三.Python 进程 Process 函数介绍
其实进程 Process 的函数和**线程 threading** 类似具体如下
1.start — 启动进程2.terminate — 强制终止进程不会进行任何清理操作。如果该进程终止前创建了子进程那么该子进程在其强制结束后变为僵尸进程如果该进程还保存了一个锁那么也将不会被释放进而导致死锁使用时要注意3.is_alive — 判断某进程是否存活存活返回 True 否则 False 4.join([timeout]) — 主线程等待子线程终止。timeout 为可选择超时时间需要强调的是p.join 只能 join 住 start 开启的进程而不能 join 住 run 开启的进程 5.daemon — 默认值为 False 如果设置为 True代表该进程为后台守护进程当该进程的父进程终止时该进程也随之终止并且设置为 True 后该进程不能创建子进程设置该属性必须在 start 之前6.name — 进程名称7.pid — 进程 ID 标识pid值得注意的是如果在 start 函数之前获取 pid 默认为 None 因为进程还未创建获取不到 pid 8.exitcode — 进程运行时为 None如果为 -N 表示被信号 N 结束了;9.authkey — 进程身份验证默认是由 os.urandom 随机生成 32 字符的字符串。这个键的用途是设计涉及网络连接的底层进程间的通信提供安全性这类连接只有在具有相同身份验证才能成功;
四.Python 进程 Process 使用
# !usr/bin/env python
# -*- coding:utf-8 _*-Author:猿说编程
Blog(个人博客地址): www.codersrc.com
File:Python 进程 Process 模块.py
Time:2021/05/06 07:37
Motto:不积跬步无以至千里不积小流无以成江海程序人生的精彩需要坚持不懈地积累from multiprocessing import Processdef people_info(*args,**kwargs):print(args,kwargs)def main():# 信息列表list_info [{name:zhangsan,height:175cm},{name: lisi, height: 155cm},{name: wangwu, height: 195cm},{name: liqi, height: 166cm},{name: wangba, height: 125cm},]# 创建进程for i in range(5):p Process(targetpeople_info,args(i,),kwargslist_info[i])# 设置为守护进程必须设置在start函数之前否则会产生异常# 默认为False即主进程会等待子进程结束之后才结束# 如果设置为True主进程结束之后所有的子进程自动结束不管子进程是否已经执行完所有任务# p.daemon True# 启动进程p.start()# 获取进程pid如果在start函数之前获取pid默认为None因为进程还没启动print(进程process pid ,p.pid)# 获取进程名字print(进程process name ,p.name)# 获取进程pidprint(进程process exitcode ,p.exitcode)if __name__ __main__:main()
输出结果进程process pid 2600
进程process name Process-1
进程process exitcode None
进程process pid 4372
进程process name Process-2
进程process exitcode None
进程process pid 14124
进程process name Process-3
进程process exitcode None
进程process pid 10920
进程process name Process-4
进程process exitcode None
进程process pid 4892
进程process name Process-5
进程process exitcode None
(0,) {name: zhangsan, height: 175cm}
(1,) {name: lisi, height: 155cm}
(2,) {name: wangwu, height: 195cm}
(3,) {name: liqi, height: 166cm}
(4,) {name: wangba, height: 125cm}五.Python 进程 Process 小窍门
Python 的 os 模块封装了常见的系统调用其中就包括
# !usr/bin/env python
# -*- coding:utf-8 _*-Author:猿说编程
Blog(个人博客地址): www.codersrc.com
File:Python 进程 Process 模块.py
Time:2021/05/06 07:37
Motto:不积跬步无以至千里不积小流无以成江海程序人生的精彩需要坚持不懈地积累os.fork() 创建子进程
os.getpid() 获取自身 ID
os.getppid() 获取父进程 ID关于进程 Process 创建就介绍到这里不知道大家发现没有进程 Process 的创建和线程 threading 的创建非常相似那么 Python 进程和线程到底又有什么区别呢关于 Python 进程和线程的区别请参考Python 进程 Process 与线程 threading 的区别
六.猜你喜欢
Python 条件推导式Python 列表推导式Python 字典推导式Python 函数声明和调用Python 不定长参数 *argc/**kargcsPython 匿名函数 lambdaPython return 逻辑判断表达式Python 字符串/列表/元组/字典之间的相互转换Python 局部变量和全局变量Python type 函数和 isinstance 函数区别Python is 和 区别Python 可变数据类型和不可变数据类型Python 浅拷贝和深拷贝Python 文件读写操作Python 异常处理Python 模块 importPython __name__ ‘__main__’详细解释Python 线程创建和传参Python 线程互斥锁 LockPython 线程时间 EventPython 线程条件变量 ConditionPython 线程定时器 TimerPython 线程信号量 SemaphorePython 线程障碍对象 BarrierPython 线程队列 Queue – FIFOPython 线程队列 LifoQueue – LIFOPython 线程优先队列 PriorityQueuePython 线程池 ThreadPoolExecutor(一)Python 线程池 ThreadPoolExecutor(二)Python 进程 Process 模块Python 进程 Process 与线程 threading 区别Python 进程间通信 Queue / Pipe
未经允许不得转载猿说编程 » Python 进程 Process 模块