并发程序设计(上)

一、并发程序设计的概念

1.顺序程序设计及其特性
程序是实现算法的操作(指令)序列
每个程序在处理器上执行是严格有序的,称为程序执行的内部顺序
程序设计的一般习惯是顺序程序设计:把一个具体问题的求解过程设计成一个程序或者若干个严格顺序执行的程序系列,这称为程序执行的外部顺序
特性
{
1.程序执行的顺序性:程序指令执行是严格按序的
2.计算环境的封闭性:程序运行如同独占受操作系统保护的资源
3.计算结果的确定性:程序执行结果与执行速度和执行时段无关
4.计算过程的可再见性:程序对相同数据集的执行轨迹是确定的
}

2.并发程序设计的概念‘
进程的并发执行
{
多道程序设计让多个程序同时进入内存去竞争处理器以获得运行机会
OS允许计算机系统在一个时间段内存在多个正在运行的进程,即允许多个进程并发执行
OS保证按照“顺序程序设计“方法编制的程序在并发时不受影响,如同独占计算机
这些按照顺序程序设计思想编制的进程在OS中并发执行属于无关的并发进程
}

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

3.并发程序设计的特性
{
1.并行性:多个进程在多道程序系统中并发执行或者在多出力系统中并行执行,提高了计算效率
2.共享性;多个进程共享软件资源
3.交往性:多个进程并发执行时存在制约
增加了程序设计难度
}

二、并发程序的制约关系

1.无关与交往的并发进程
无关的并发进程:一组并发进程分别在不同的变量集合上运行,一个进程的执行与其他并发进程的进展无关
交往的并发进程:一组并发进程共享某些变量,一个进程的执行可能影响到其他并发进程的结果
2.与时间相关的程序设计错误
对于一组交往的并发进程,执行的相对速度无法相互控制
如果程序设计不当,可能会出现各种”与时间有关的“错误
表现一:结果错误
表现二:永远等待
3.进程互斥与同步的概念
交往的并发进程在执行时必须进行支援,才能保证得到合理的结果
进程互斥:并发进程之间因相互争夺独占性资源而产生的竞争制约关系
进程同步并发进程之间为完成共同任务基于某个条件来协调执行先后关系而产生的协作制约关系

三、临界区

1.临界区的基本概念
互斥与临界区
{
临界资源:互斥共享变量所代表的资源:即一次只能被一个进程使用的资源
临界区指并发进程中与互斥共享变量相关的程序断
多个并发进程访问临界资源时,存在竞争制约关系
如果两个进程同时停留在相关的临界区内,就会出现与时间相关的错误
}

临界区的描述
临界区一定跟一个临界资源有关,临界区又是一个代码段
两个进程的临界区具有相同的临界资源,就是相关的临界区,必须互斥进入,两个临界区不相关,则没有限制

2.临界区管理的三个要求
{
1.一次之多允许一个进程停留在相关的临界区
2.一个进程不能无限制地停留在临界区内
3. 一个进程不能无限制的等待进入临界区
临界区可以嵌套使用

发布了33 篇原创文章 · 获赞 4 · 访问量 2628

猜你喜欢

转载自blog.csdn.net/CNMNMSL1/article/details/104047847