![](https://img.haomeiwen.com/i13852523/02aef821eea4d167.png)
![](https://img.haomeiwen.com/i13852523/fd7d866f97a01440.png)
临界区 Critical Sections
是访问共享数据的代码,生产者消费者代码中的count++\count--就是临界区。
-
临界区问题
要求当有一个进程i正在自己临界区执行时候,没有其他进程在临界区执行。 -
解决临界区问题要满足三个条件:
- 互斥(Mutual Exclusion)——如果进程Pi正在其临界区执行,其它任何进程都不允许在他们的临界区中
- 空闲让进/前进(Progress)——如果没有进程处于其临界区,并且某些进程申请进入其临界区,只有那些不在剩余区(remainder sections)的进程,才能参与能否进入临界区的选取,同时这个选举不允许无限期推迟。
什么叫remainder sections?
- 有限等待(Bounded Waiting)——某一进程从起提出要求,至它获准进入临界区的这段时间内,其他进程进入他们临界区的次数有上界。
网友评论