C++11 新标准中引入了五个头文件来支持多线程编程,它们分别是<atomic>,<thread>,<mutex>,<condition_variable>和<future>。
<atomic>:该头文主要声明了两个类,std::atomic和std::atomic_flag,另外还声明了一套 C 风格的原子类型和与C兼容的原子操作的函数。
<thread>:该头文件主要声明了std::thread类,另外std::this_thread命名空间也在该头文件中。
<mutex>:该头文件主要声明了与互斥量(Mutex)相关的类,包括std::mutex_*一系列类,std::lock_guard,std::unique_lock,以及其他的类型和函数。
<condition_variable>:该头文件主要声明了与条件变量相关的类,包括std::condition_variable和std::condition_variable_any。
<future>:该头文件主要声明了std::promise,std::package_task两个Provider类,以及std::future和std::shared_future两个 Future 类,另外还有一些与之相关的类型和函数,std::async()函数就声明在此头文件中。