美文网首页
C++ Concurency in Action

C++ Concurency in Action

作者: TocomPass | 来源:发表于2018-05-21 22:49 被阅读0次

《C++并发编程》

- Chapter 1

何谓并发

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

并发的途径

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

- Chapter 2

启动线程

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

RAII方便管理线程

后台运行线程

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

向线程函数传递参数

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

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

线程所有权

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

std::async

如果想要异步执行任务,最好显示使用std::launch::async调用

相关文章

网友评论

      本文标题:C++ Concurency in Action

      本文链接:https://www.haomeiwen.com/subject/jkhcjftx.html