Non-Profit, International

Spirit unsterblich.

  • C++ 协程 - 异步任务

    字数统计:1960
    编写异步协程的 Task 实际上就是解决 4 个问题:协程生存期、异常传播、协程同步和结果发布。实际使用中,Promise 负责存储,Task 负责和外部进行交互。
  • C++ 协程 - 协程理论

    字数统计:5766
    协程中最主要的两个概念是 Awaiter 和 Promise,Awaiter 用于协程切换,而 Promise 用于储存用户定义的协程状态信息以及结果。此外,协程还需要一个用于管理协程以及获得协程结果的 Task。
  • C++ 协程 - 实现线程池

    字数统计:4646
    线程池总体分为 3 部分:工作线程,定时器线程以及任务派发线程,每种线程都有对应的锁,队列和信号量。
  • C++ 协程 - 并发原语

    字数统计:2545
    本节内容主要介绍了实现线程池所用的并发原语:原子操作、互斥锁、条件变量以及信号量。
  • C++ 协程 - 综述

    字数统计:1668
    协程是 C++ 20 标准中新添加的一个重要语言特性,包含了一些新语法和协程支持库,然而,如何使用协程进行编程还是一片蓝海。
  • C++ 转发引用

    字数统计:1067
    C++ 11 发明右值引用后,结合模板带来了一个优雅的参数传递方案即万能引用。许多教程使用“引用折叠”来描述模板在实例化 T&& 的行为(例如之前的文章右值引用和完美转发),但实际上这并不准确。作为库作者,可能还需要更接近真相。
  • C++ 异常 - 守卫

    字数统计:4441
    前几篇文章讲述了异常的基本概念和如何保证基本的异常安全,本文则综合并且结合最佳实践讲述如何编写正确的 C++ 代码。