一、并发程序设计的概念
1.顺序程序设计及其特性
程序是实现算法的操作(指令)序列
每个程序在处理器上执行是严格有序的,称为程序执行的内部顺序
程序设计的一般习惯是顺序程序设计:把一个具体问题的求解过程设计成一个程序或者若干个严格顺序执行的程序系列,这称为程序执行的外部顺序
特性
{
1.程序执行的顺序性:程序指令执行是严格按序的
2.计算环境的封闭性:程序运行如同独占受操作系统保护的资源
3.计算结果的确定性:程序执行结果与执行速度和执行时段无关
4.计算过程的可再见性:程序对相同数据集的执行轨迹是确定的
}
2.并发程序设计的概念‘
进程的并发执行
{
多道程序设计让多个程序同时进入内存去竞争处理器以获得运行机会
OS允许计算机系统在一个时间段内存在多个正在运行的进程,即允许多个进程并发执行
OS保证按照“顺序程序设计“方法编制的程序在并发时不受影响,如同独占计算机
这些按照顺序程序设计思想编制的进程在OS中并发执行属于无关的并发进程
}
并发程序设计:把一个具体问题求解设计成若干个可同时执行的程序模块的方法
3.并发程序设计的特性
{
1.并行性:多个进程在多道程序系统中并发执行或者在多出力系统中并行执行,提高了计算效率
2.共享性;多个进程共享软件资源
3.交往性:多个进程并发执行时存在制约
增加了程序设计难度
}
二、并发程序的制约关系
1.无关与交往的并发进程
无关的并发进程:一组并发进程分别在不同的变量集合上运行