进程同步与异步

首先我们要清楚进程的同步与异步说的是进程间的运行关系,而不是进程的运行的运行状态(阻塞与非阻塞)。

我们所谓的进程同步是说在某些地方,多个并发进程需要相互等待或交换信息而产生的制约关系,并发进程之间不是相互排斥临界资源,而是相互依赖的关系。确切说,同步关系就是前一个进程的输出作为后一个进程的输入;当第一个进程没有输出时,第二个进程必须等待。

而异步是相对于同步而言,同步是顺序执行进程,执行完一个进程再执行下一个进程,需要进程之间等待、协调运行;异步是进程之间彼此独立,在等待其他进程的运行时,本进程继续做自己的事,不需要等待其他进程完成后再工作。

举个泡茶的例子来说明,假设说我们烧水需要10分钟,洗茶具需要三分钟,准备茶叶需要两分钟,泡茶需要2分钟,那么我们都知道最好的解决办法是在烧开水的过程中清洗茶具和准备茶叶,这样我们需要12分钟就能喝到茶,这个事件中烧水,洗茶具和准备茶叶就是异步进行,不需要互相等待资源,但是泡茶与烧水,洗茶具和准备茶叶就是进程同步,需要这三个时间都完成后才能泡茶。

猜你喜欢

转载自blog.csdn.net/pretysunshine/article/details/83184203