C++ 协程 - 任务 October 13, 2024 字数统计:5886 编写协程的 Task 实际上就是解决 4 个问题:协程生存期、异常传播、协程同步和结果发布。实际使用中,Promise 负责存储,Task 负责和外部进行交互。 C++ 协程 - 协程理论 October 11, 2024 字数统计:5450 协程中最主要的两个概念是 Awaiter 和 Promise,Awaiter 用于协程切换,而 Promise 用于储存用户定义的协程状态信息以及结果。此外,协程还需要一个用于管理协程以及获得协程结果的 Task。 C++ 协程 - 线程池 October 10, 2024 字数统计:3898 线程池总体分为 3 部分:工作线程,定时器线程以及任务派发线程,每种线程都有对应的锁,队列和信号量。 C++ 协程 - 并发原语 October 7, 2024 字数统计:2136 本节内容主要介绍了实现线程池所用的并发原语:原子操作、互斥锁、条件变量以及信号量。 C++ 协程 - 综述 October 7, 2024 字数统计:1455 协程是 C++ 20 标准中新添加的一个重要语言特性,包含了一些新语法和协程支持库,然而,如何使用协程进行编程还是一片蓝海。 C++ 转发引用 August 31, 2024 字数统计:889 C++ 11 发明右值引用后,结合模板带来了一个优雅的参数传递方案即万能引用。许多教程使用“引用折叠”来描述模板在实例化 T&& 的行为(例如之前的文章右值引用和完美转发),但实际上这并不准确。作为库作者,可能还需要更接近真相。 C++ 异常 - 守卫 July 29, 2024 字数统计:3700 前几篇文章讲述了异常的基本概念和如何保证基本的异常安全,本文则综合并且结合最佳实践讲述如何编写正确的 C++ 代码。