线程同步之互斥锁、自旋锁、读写锁以及条件变量

一、互斥锁

互斥锁保证资源访问的串行
它针对特定进程给临界资源加锁,加锁时其它进程无法访问该临界资源,只能进入睡眠状态
原子性:一系列操作不可被中断的特性

二、自旋锁

效果同互斥量,但申请调用自旋锁资源的进程会反复检查锁变量是否可用,直到资源被释放为止
自旋锁避免了进程/线程的上下文开销,但不适合单核CPU

三、读写锁

读写锁是一种特殊的自旋锁,允许同时读取,但不允许同时写入
它适合多读少写的场景

四、条件变量

条件变量允许线程睡眠,直到满足特定条件时唤醒

相关文章:

  • 2021-12-09
  • 2022-12-23
  • 2022-03-06
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-05
  • 2021-06-14
猜你喜欢
  • 2021-10-07
  • 2021-09-21
  • 2021-08-10
  • 2022-12-23
  • 2022-01-13
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案