7.1 std::thread
std::thread 用于创建一个执行的线程实例,所以它是一切并发编程的基础,使用时需要包含<thread>头文件
7.2 std::mutex, std::unique_lock
std::mutex 是 C++11 中最基本的 mutex 类,通过实例化 std::mutex 可以创建互斥量,而通过其成员函数 lock() 可以仅此能上锁,unlock() 可以进行解锁。
7.3 std::future, std::packaged_task
std::future 提供了一个访问异步操作结果的途径
std::packaged_task 可以用来封装任何可以调用的目标,从而用于实现异步的调用
7.4 std::condition_variable
std::condition_variable 用于唤醒等待线程从而避免死锁
std::condition_variable的 notify_one()用于唤醒一个线程;notify_all() 则是通知所有线程。