标准库:线程与并发

2018-05-21  本文已影响0人  骑鲸公子_

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() 则是通知所有线程。

上一篇下一篇

猜你喜欢

热点阅读