目录:
-
第一个demo, std::thread
-
join的用法
-
-
互斥/加锁 std::mutex
-
互斥量的基本使用
-
更好用的 std::unique_lock
-
条件变量实现"生产者/消费者模式"
-
-
Future使用
-
补充&参考资料
第一个demo, std::thread
c++ 11之后提供了thread库,方便的实现并发,使用std::thread创建子线程,参数有三种:
-
函数指针
-
函数对象
-
Lambda函数
例:thread hello world
join的用法
上面代码中t.join()表明在当前线程block住,等待t线程执行完。join可以用于"当前功能依赖子线程执行完"的场景。
如果去掉 t.join()一行,程序会报错,这点和其他语言不太一样。
互斥/加锁 std::mutex
多线