C++ Concurrency In Action
文章平均质量分 89
今天要努力打游戏
学习如逆水行舟,不进则退
展开
-
《C++ Concurrency In Action》Chapter4学习笔记
完成到 packaged_task,这一章是大头,内容很多,hhh。越学越觉得书上例子很丰富,基本上跟着理解就能掌握好知识点。果然看书是进步最快的方法呀。线程往往需要等待某一事件的发生再行动。如需要等待数据准备好再进行打印。在 c 中使用信号量或条件变量可以达到这一目的。C++则提供了条件变量与等技术工具帮助我们简化操作。原创 2023-05-14 23:31:24 · 106 阅读 · 0 评论 -
《C++ Concurrency In Action》Chapter3学习笔记
综上,如果代码同时获取多个锁,使用上面的方法不会死锁。但如果获取锁的时间线不一样,仍有可能发生死锁。即准则2的具象化,我们对每个互斥赋予等级。如果线程已经对低层级的线程加锁,则不允许其再对高层级的线程加锁。然而有的情况只能由我们自己解决,如:如果向锁作用域外传递保护共享对象,则互斥就失去了作用。unique_lock 可以随时上锁再解锁,更加灵活,可以用于减小锁的粒度,然而其比。(因为其要保留一个内部标志,表示当前锁的状态,用于正确地析构)假如多个锁是必要的,我们需要保证按序加锁。的特性,允许我们这样写。原创 2023-05-09 23:13:41 · 306 阅读 · 0 评论 -
《C++ Concurrency In Action》Chapter2学习笔记
学完这一章简单的操作都掌握了,我们可以编写简单的资源管理类来保证线程正常完成。我们完全不能保证线程的顺序,这也导致考虑锁的时候将会很头大,hhh,不过这是后话了。原创 2023-05-08 23:33:43 · 76 阅读 · 0 评论