C++笔记之条件变量wait()的入参个数,及从忙等待、自旋锁、轮询、到阻塞休眠

发布时间:2026/7/27 6:06:12
C++笔记之条件变量wait()的入参个数,及从忙等待、自旋锁、轮询、到阻塞休眠 C++笔记之条件变量wait()的入参个数,及从忙等待、自旋锁、轮询、到阻塞休眠code review!文章目录C++笔记之条件变量wait()的入参个数,及从忙等待、自旋锁、轮询、到阻塞休眠1. std::condition_variable::wait() 有几个入参?入参含义是?1.1 版本一:1 个参数1.2 版本二:2 个参数(更常用、更安全)1.3 小结对比2. 如果没有返回就相当于阻塞住了?2.1 阻塞的具体过程2.2 一句话总结3. 自旋锁、忙等待、轮询、阻塞、条件等待的辨析3.1 核心区分维度3.2 各概念详解3.2.1 忙等待/自旋检查(Busy-Waiting)—— 不休眠,连续检查3.2.2 自旋锁(Spinlock)—— 忙等待的具体应用3.2.3 轮询(Polling)—— 不休眠(或短暂休眠),间隔检查3.2.4 阻塞(Blocking)—— 休眠,被动等待通知3.2.5 条件变量 `wait()` —— 阻塞的具体实现3.3 完整对比表3.4 用一条"频谱"来理解它们的关系3.5 一句话总结condition_variable在计算机科学(特别是多线程编程)中,中文通常翻译为:条件变量在操作系统和 C++(如std::condition_variable)、Java、POSIX 线程(pthread)等编程语言或库的中文文档中,均统一使用条件变量这一称呼。它常与互斥锁(Mutex)配合使用,用于线程间的同步与等待通知机制。1. std::condition_variable::wait() 有几个入参?入参含义是?std::condition_variable::wait()有两种重载版本,参数个数分别是 1 个和 2 个。1.1 版本一:1 个参数voidwait(std::unique_lockstd