python3.8 进程的简单理解

进程

先了解什么是进程,看百度写的,太专业了,不好理解

进程:就是一个程序的实例,就像python中给一个类实例化一样,进程就是程序的实例化,而程序,就是你写的那一串串代码,没运行前,就叫做程序,点击运行了,CPU就会调度资源来跑这串代码。一个执行中的程序,就是一个进程。

程序,只是写好的代码,静态的,你只要没删除它,它一直都会在那;而进程是动态的,程序执行结束后,就死掉了,同时进程之间是互不影响的,你跑你的,我干我的,当然也可以和其他进程一起并发运行。

多进程和fork()

多进程的创建,可以使用fork()方法,在python3中,fork()方法被集成到了os库里

# fork()非常特殊,不支持Windows平台,但适用于Unix(Mac系统)和Linux
import os
pid = os.fork()

fork()方法会返回两个值,一个是主进程(也叫父进程)的ID,另一个是子进程的ID,主进程返回的ID值,每个电脑都不一样,但子进程永远返回0

import os
pid = os.fork()		
print(pid)



# 输出结果
1260		 # 主进程的ID,每台电脑基本都是不同的
0			 # 子进程的ID,子进程永远返回

>>>

在fork()方法运行的那一刻,会创建一个子进程出来,但由于CPU的时间片轮转调度算法,打印出来的ID顺序实际上是由CPU决定的,我们插手不了,说白了就是:你不知道谁先打印出来,也控制不了打印顺序。

至于这个时间片轮转调度算法,它说的是,CPU对待每个进程都是很公平的,每个进程都给你100ms的执行时间,如果时间到了,进程还没跑完程序,那CPU就会使出它的替身,“砸瓦鲁多!”,时间暂停,剥夺这个进程的时间,然后踢到进程队

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值