临界区问题概念

临界区问题概念_第1张图片

临界区问题概念_第2张图片

临界区 Critical Sections

是访问共享数据的代码,生产者消费者代码中的count++\count--就是临界区。

  • 临界区问题
    要求当有一个进程i正在自己临界区执行时候,没有其他进程在临界区执行。

  • 解决临界区问题要满足三个条件:

    • 互斥(Mutual Exclusion)——如果进程Pi正在其临界区执行,其它任何进程都不允许在他们的临界区中
    • 空闲让进/前进(Progress)——如果没有进程处于其临界区,并且某些进程申请进入其临界区,只有那些不在剩余区(remainder sections)的进程,才能参与能否进入临界区的选取,同时这个选举不允许无限期推迟。

    什么叫remainder sections?


    临界区问题概念_第3张图片
    • 有限等待(Bounded Waiting)——某一进程从起提出要求,至它获准进入临界区的这段时间内,其他进程进入他们临界区的次数有上界。

你可能感兴趣的:(临界区问题概念)