代码改变世界

理解并发进程

2019-04-16 17:47  林扬程1  阅读(229)  评论(0编辑  收藏  举报

1、说说你对顺序程序设计与并发程序设计的理解。

顺序程序设计

     把一个具体问题的求解过程设计成一个程序或者若干严格顺序执行的程序序列,称为程序执行的外部顺序性

并发程序设计

把一个具体问题求解设计成若干个可同时执行的程序模块的方法

2、举一个例子进行说明。

顺序程序设计

#include<stdio.h>
main(void)
{
    char c1,c2;
    c1=getchar();
    printf("%c,%d\n",c1,c1);
    c2=c1+21;
    printf("%c,%d\n",c2,c2);
    return 0;
}

顺序程序设计中是按照顺序来的,如果c1运行成败的话,c2是不会运行的。

并发程序设计

 在串行运行时,系统资源被单个进程独占。当进程读取或写入磁盘文件时,CPU处于空闲状态,等待I/O完成,这会导致大量的资源和时间浪费。当进程等待I/O结果时,它可以自动阻塞。此时,CPU可以选择另一个准备好的进程来执行,从而提高系统的效率,增加系统的吞吐量,提高系统交互的性能。