(2)同步异步并发并行进程

并行和并发

并发:一个cpu同时不停地执行多个程序

1个人吃10个苹果

并行:多个cpu通过不停执行多个程序

10个人吃10个苹果

同步异步阻塞非阻塞

场景在多任务当中

同步:必须等我这件事干完了,你在干,只有一条主线,就是同步

异步:没等我这件事情干完,你就在干了,有两条主线,就是异步

阻塞:比如代码有了input,就是阻塞,必须要输入一个字符串,否则代码不往下执行

非阻塞:没有任何等待,正常代码往下执行.

同步阻塞:效率低,cpu利用不充分

异步非阻塞:效率高,cpu过度充分

同步非阻塞:没有类似input的代码,从上到下执行.默认的正常情况代码

异步阻塞 :比如socketserver,可以同时连接多个,但是彼此都有recv

进程的概念:(Process)

进程 就是正在运行的程序,它是操作系统中,资源分配的最小单位.

资源分配:(需要cpu来处理,需要内存来临时存储运行数据,都要浪费cpu和内存资源)

进程号是进程的唯一标识

同一个程序执行两次之后是两个进程

进程和进程之间的关系: 数据彼此隔离,通过socket通信

进程调度算法

先来先服务fcfs(first come first server):先来的先执行

短作业优先算法:分配的cpu多,先把短的算完

时间片轮转算法:每一个任务就执行一个时间片的时间.然后就执行其他的.

多级反馈队列算法

越是时间长的,cpu分配的资源越少,优先级靠后

越是时间短的,cpu分配的资源越多

进程三状态图

(1)就绪(Ready)状态

只剩下CPU需要执行外,其他所有资源都已分配完毕 称为就绪状态。

(2)执行/运(Running)状态

cpu开始执行该进程时称为执行状态。

(3)阻塞(Blocked)状态

由于等待某个事件发生而无法执行时,便是阻塞状态,cpu执行其他进程.例如,等待I/O完成input、申请缓冲区不能满足等等。

 

 

 

 

 

 

 

 

 

 

 

 

猜你喜欢

转载自www.cnblogs.com/lyj910313/p/10787146.html