您的位置: 首页 > 文章 > 线程同步之互斥锁、自旋锁、读写锁以及条件变量 线程同步之互斥锁、自旋锁、读写锁以及条件变量 分类: 文章 • 2024-02-01 22:06:16 一、互斥锁 互斥锁保证资源访问的串行 它针对特定进程给临界资源加锁,加锁时其它进程无法访问该临界资源,只能进入睡眠状态 原子性:一系列操作不可被中断的特性 二、自旋锁 效果同互斥量,但申请调用自旋锁资源的进程会反复检查锁变量是否可用,直到资源被释放为止 自旋锁避免了进程/线程的上下文开销,但不适合单核CPU 三、读写锁 读写锁是一种特殊的自旋锁,允许同时读取,但不允许同时写入 它适合多读少写的场景 四、条件变量 条件变量允许线程睡眠,直到满足特定条件时唤醒