#include <condition_variable>包括什么
时间: 2024-05-18 21:17:55 浏览: 88
线程池c++11 thread类
`<condition_variable>` 是 C++ 标准库中的一个头文件,用于定义条件变量(condition variable)及其相关操作,是多线程编程中的一个重要组件。
该头文件包括以下类和函数:
- `std::condition_variable`:条件变量类,用于在多个线程之间同步共享数据的访问,以及线程之间的通信。可以通过 `wait()`、`notify_one()` 和 `notify_all()` 等成员函数实现线程的阻塞和唤醒。
- `std::condition_variable_any`:与 `std::condition_variable` 功能相似,但可以与任何锁类型一起使用。
- `std::notify_one()`:唤醒至少一个等待的线程。
- `std::notify_all()`:唤醒所有等待的线程。
- `std::wait()`:等待条件变量满足特定条件,会阻塞线程。
- `std::wait_for()`:等待条件变量满足特定条件,但只等待特定时间,如果时间到了仍未满足条件,则返回。
- `std::wait_until()`:等待条件变量满足特定条件,但只等待到特定时间点,如果时间到了仍未满足条件,则返回。
使用条件变量可以避免线程的忙等待,提高 CPU 利用率和程序的效率。同时,条件变量也是多线程编程中的重要工具,可以用于协调不同线程之间的操作。
阅读全文