###并行和并发
并发:一个cpu同一时间不停执行多个程序
并行:多个cpu同一时间不停执行多个程序
cpu的进程调度方法
先来先服务fcfs(first come first server):先来的先执行
短作业优先算法:分配的cpu多,先把短的算完
时间片轮转算法:每一个任务就执行一个时间片(时间段)的时间.然后就执行其他的.
多级反馈队列算法
越是时间长的(例如下载),cpu分配的资源越少,优先级靠后
越是时间短的,cpu分配的资源越多
###同步 异步
场景在多任务当中
同步:必须等我这件事干完了,你在干,只有一条主线,就是同步
异步(由进程触发):没等我这件事情干完,你就在干了,有两条主线,就是异步
###进程(Process)
进程就是正在运行的程序,它是操作系统中,资源分配的最小单位.
一个程序等于一个进程
进程(程序)是由CPU执行
进程是典型的异步过程,可以让CPU执行多个程序
资源分配:分配的是cpu和内存等物理资源
进程号(类似于身份证号码)是进程的唯一标识
同一个程序执行两次之后是两个进程
例如:
#CPU执行的时候只执行就绪状态
(1)就绪(Ready)状态
只剩下CPU需要执行外,其他所有资源都已分配完毕 称为就绪状态。
(2)执行(Running)状态
cpu开始执行该进程时称为执行状态。
(3)阻塞(Blocked)状态
由于等待某个事件发生而无法执行时,便是阻塞状态,cpu执行其他进程.例如,等待I/O完成input,sleep,三次握手(监听)申请缓冲区不能满足等等。
进程使用的基本语法
#from multiprocessing import Process(使用进程必须引入)
#查看进程号必须要引入os模块
#如果父进程是一个程序,子进程就是这个程序中的一部分程序
import os
当前进程id(子进程的进程号)
res = os.getpid()
print(res)
当前进程的父进程id(父进程的进程号)
res2 = os.getppid()
print(res2)
<