理解并发进程
- 完善处理机调度算法。
- 修正调度算法流程图。
- 说说你对顺序程序设计与并发程序设计的理解。
- 举一个例子进行说明。
一、顺序程序设计:
1.理解:
(1)执行的顺序性:一个程序在处理上是严格要求按顺序执行的,每个操作必须在下一个操作开始之前结束。
(2)环境的封闭性:运行程序独占全机资源,资源状态只能由此程序本身决定和改变,也不受外界因素影响。
(3)结果的确定性:程序在执行中允许出现中断,但这种中断不会对程序最终结果产生影响,也就是说程序执行与它的执行速度无关。
(4)过程的可再现性:程序针对同一数据结构的执行过程在下一次执行时会重现。
2.举例:
当你去ATM存钱时,你必须先插卡或者输入卡号才能进行下一步,当你在取钱时,你不能同时存钱(执行的顺序性),如果你后面排队的人中有人在吵架,这也不会影响你取钱,因为你取钱这一程序会独占全机资源(环境的封闭性),如果你在取钱时,突然银行网络不好,你的取钱进程中断,但是等网络好了后你最终取出的钱和你卡所剩的余额都不会因此而改变(结果的确定性),当你下一次对此卡进行取同样数额的钱,并且你的卡也拥有和之前一样数额的钱时,你的操作结果会和之前的一样(过程的可再现性)。
二、并发程序设计:
1.理解:
当一组程序的执行在时间上是重叠的,所谓时间重叠是指一个程序执行第一条指令是在另一个程序执行完最后一条指令之前开始的,或者说,多个程序处于都已开始执行但都未执行完成状态。
2.举例:
妈妈在做饭时,先把米饭拿去煮,在此期间会去洗菜、切菜,当将汤的食材处理好以后,就会去煮汤,在煮饭煮汤的时候,还会去炒菜......这些动作都会在时间上出现重叠,并且会出现在一件事情为完成之前而去执行另一件事情。