【多线程系列】Race Condition的产生和解决

DATE: 2022.6.22


文章目录

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

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

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

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

  3. 竞争条件分为两类:

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


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部