的上报, 使用该类型
2.1.3 一个简单的文件异步读取示例
对于一个简单的异步任务, 它可能的执行状态是先在某个线程上做阻塞式的执行, 然后再回归主线程进行回调, 如下图所示:
sequenceDiagram...线程池的表达, 像CE这种是比较简约的设计, 某个线程创建后, 它对应执行的任务类型就被固定下来了, 但部分引擎如Halo, 使用的是更具公用性的线程, 一个线程可以对某几类任务进行调度....依赖asio::strand这类设施, 我们能够补齐多工作线程上的线性表达能力, 但对于更复杂的DAG类型的组合任务表达, 每个引擎可能都会有自己差异化的实现....即可利用相关的特化完成我们预期的抽象了, 一个符合条件的async_result特化需要实现以下这些内容:
对于简单的类型来说, 这种定制点机制能够很好的发挥作用, 增加的复杂度是比较可控的....但对于 coroutine 来说, 在后续>篇中, 我们可以看到, 依托于async_result对 croutine 进行抽象, coroutine 本身的复杂度与 async_result