理解并发进程
一、顺序程序设计
程序顺序执行是指其在处理器 上的执行是严格有序的,即只有在前一个操作结束后,才能开始后继操作,这种称为程序内部顺序性:如果一个计算任务需要若干不同的程序完成,这些程序也按照用次序严格有序执行,这种称为程序外部顺序性。传统程序设计方法是顺序程序设计方法是顺序程序设计,把程序设计成顺序执行的指令序列,不同程序也按先后顺序执行。
顺序程序设计具有以下特性:
(1)执行的顺序性。一个程序在处理器上是严格按序执行的,每个操作必须在一个操作开始前结束。
(2)环境的封闭性。运行程序独占全机资源,资源状态只能由此程序本身决定和改变,也不受外界因素影响。
(3)结果的确定性。程序在执行过程中允许出现中断,但这种中断不会对程序最终结果产生影响,也就是说程序执行结果与他的执行速度无关。
(4)过程的可再现性。程序针对同一个数据结构的执行过程再下一次执行时会重现,及重复执行程序会获得相同的执行过程和计算结果。
二、并发进程的特性
(1)若为单处理器系统,可以有效的利用资源,让处理器和设备、设备和设备同时工作,充分发挥硬部分间的并行工作能力。
(2)若为多处理系统,可让进程在不同处理器上物理的并行工作,加快计算速度。
(3)简化程序设计任务,一般来说,编制并发执行的小程序进度快,容易保证正确性,可见,计算机硬部件能并行工作仅具备提高效率的可能性,而并行工作的实现要通过并发程序设计和操作系统引入并发技术来发挥。
三、举例说明
(1)顺序程序:当一天我要炒青菜的时候,要先去菜市场买菜,然后洗菜、切菜,当这些都做好以后,我才能把菜放进锅里面开始炒菜。
(2)并发进程:当我要泡茶的时候,我先把开始煮水,在煮水的同时,我把杯子洗好,把茶叶准备好,然后水煮好了,我开始把茶叶放进茶壶,并倒水进去开始泡茶。
(3)代码实现