操作系统原理之并发与同步

发布于 2015-09-19  1.16k 次阅读


1. 进程(线程)间相互作用

相关进程和无关进程

在逻辑上具有某种联系的进程称为相关进程,在逻辑上没有任何联系的进程称为无关进程。

对于无关进程的详细解释为:如果一个进程的执行不影响其他进程的执行,且与其他进程进展情况无关,即它们是各自独立的,则说这些并发进程的相互之间是无关的。显然,无关的并发进程一定没有共享的变量,它们分别在各自的数据集合上操作。无关进程的例子有两个不同的源程序进行编译的两个进程,它们可以是并发执行的,但它们之间却是无关的。因为这两个进程分别在不同的数据集合上,为不同的源程序进行编译。

对于相关进程的详细解释:如果一个进程的执行依赖其他进程的进展情况,或者说,一个进程的执行可能影响其他进程的执行结果,则说这些并发进程是相关的。相关进程的例子有读数据进程、处理数据进程和打印结果进程。

与时间有关的错误

进程执行的速度是不能由进程自身控制的。在并发程序中共享了公共变量,使得程序的计算结果与并发程序执行的速度有关。这种错误的结果又往往是与时间有关的(如上例中的三种情形,其结果时对时错,随执行速度的不同而异),所以,把它称为“与时间有关的错误”。


公交车司机终于在众人的指责中将座位让给了老太太