admin管理员组

文章数量:1599543

DATE: 2022.6.22


文章目录

    • 一、Race Condition(竞争条件、竞态条件、资源竞争 )
    • 二、临界区(Critical Region)
    • 三、解决互斥方法
    • 四、解决互斥的方法

一、Race Condition(竞争条件、竞态条件、资源竞争 )

  1. 竞争(Race)
    计算机运行过程中,并发、无序、大量的进程在使用有限、独占、不可抢占的资源,由于进程无限,资源有限,产生矛盾,这种矛盾称为竞争(Race)。

  2. 竞争条件(Race Condition)
    由于两个或者多个进程竞争使用不能被同时访问的资源,计算的正确性取决于多个线程的交替执行时序时,就会发生竞争条件(Race Condition)。

  3. 竞争条件分为两类:

  • Mutex(互斥):
    两个或多个进程彼此之间没有内在的制约关系,但是由于要抢占使用某个临界资源(不能被多个进程同时使用的资源,如打印机,变量)而产生制约关系。

  • Synchronization(同步):
    两个或多个进程彼此之间存在内在的制约关系(前一个进程执行完,其他的进程才能执行)&

本文标签: 多线程系列conditionrace