C++杂记 - 3(二):修改顺序、指令重排、缓存一致性与内存模型
2022-09-06
对一个原子变量的所有修改操作总是存在一定的先后顺序, 且所有线程都认可这个顺序, 即使这些修改操作是在不同的线程中执行的. 这个所有线程一致同意的顺序就称为修改顺序 (modification order). 这意味着
15918 字
|
80 分钟
C++杂记 - 3(一):std::bind/function、call_once、future/promise 与 atomic
2022-09-06
什么是bind?我们可以把它看作一个通用的函数适配器,它接受一个可调用对象,生成一个新的可调用对象来“适应”原对象的参数列表。
12870 字
|
64 分钟
c++并发编程实战-笔记
2022-09-05
如果一个线程我们没有调用join或detach,也就是说并没有分离出去或阻塞直至新线程执行完毕并回收资源,(也就是joinable() == true)。那么当这个线程被析构的时候,std::thread的析构函数会调用std::terminate()。这是非常不好的行为。因为是异常!
8949 字
|
45 分钟