C++并发
关于c++并发编程实战的总结以及相关内容
windxgz
这个作者很懒,什么都没留下…
展开
-
TBB——使用lambda进行并行加速
TBB是Intel的并行加速框架,有CPU进行线程的管理,可以支持AMD。因为是CPU直接进行线程的管理,会比普通的线程速度更快,同时比起普通线程需要自己管理TBB不需要自己去管理,相对会方便一定,他可以自己确定需要开辟的线程数,同时有很好的扩展性,除了可以发挥更好的性能优势外,在CPU进行升级之后它也可以自动进行扩展。 看到教程中使用TBB都是以对象为例的,但是需要写一个类,个人觉得比较实用的还是lambda表达式的形式,毕竟一般都是对某个方法使用线程,不想去封装一个类。 tbb::parallel_fo原创 2021-09-15 15:05:54 · 1564 阅读 · 0 评论 -
C++并发编程实战总结3
共享数据 不变量,书中总是提到变量,我跟人的理解是他描述的是一种固定的关系,这个关系是数据结构最基本也不会改变的关系。因为在改变数据的时候,比如链表,我们需要暂时的打破他们之间的关系,然后设置新的数据,然后恢复关系。数据结构要始终维持不变量的稳定 条件竞争 有一个临界资源,有两个线程都想要对它进行处理,但是肯定不能让两个线程同时操作,因为一个线程写到一半,另一个线程进来也要写,那么结果就无法保证是正确的,那么就需要让他们保持有序,此时就有了一个问题(竞争条件形成),谁先来(相对顺序)。书中提到只有不变量遭到原创 2020-05-11 15:26:10 · 284 阅读 · 0 评论 -
C++并发编程实战总结2
向线程传递参数 向线程中的可调用对象传递函数时,默认采用的是复制的方式,将参数复制到线程的独立内存中,即便参数是引用的形式。 书中举了几个例子。 void f(int i, std::string const& s); std::thread t(f, 3, "hello"); 在这个例子中函数要求的是string类型的参数,但是传入的是char const*,这里会发生一个类型转换,会在线程的上下文中完成字面值向string的转换。 void f(int i,std::string const&原创 2020-05-09 15:50:29 · 215 阅读 · 0 评论 -
C++并发编程实战总结1
之前从来没有写过多线程的代码,想要学习一下多线程,上网找了很久,相关的书都很少,后来看到有很多人推荐c++并发编程实战这本书,就买了一本。刚读了几章,看了一下目录,发现知识点还是挺多的,对于初学者的我来说暂时应该是够了。唯二让我觉得很是不满的地方就是这个翻译和排版,感觉出版社不是很用心,有的时候翻译的就跟不是中文一样,绕来绕去的没看明白他想表达的意思,简单一句话可以说到重点或者举几个例子就可以说明...原创 2020-05-08 15:25:29 · 294 阅读 · 0 评论