C++ Concurency in Action

《C++并发编程》

chapter 1

何谓并发

计算机中的并发是指单个系统里同时执行多个独立的任务。

并发的途径

大多采用轻量级的“进程”——线程来实现并发

chapter 2

启动线程

如大多数C++标准库一样,std::thread可以用可调用类型构造,将带有函数调用符类型的实例传入std::thread类中,替换默认的构造函数。

RAII方便管理线程

后台运行线程

通常称分离线程为守护线程(daemon threads)

向线程函数传递参数

传递参数时线程不会去查看函数的形参类型,只会无脑将实参传递过去,所以传递一个引用需要使用std::ref.

当传递一个成员函数作为入口函数的时候,需要将这个对象的指针当作第一个参数来传递。

线程所有权

std::thread可移动(move)而不可复制(copy),不可以通过赋值(assignment)来丢弃一个线程。

你可能感兴趣的:(C++ Concurency in Action)