C++ 11 添加于 Boost 1.62.0
本次发布
依赖项
Boost.fiber
Boost.fiber 提供了一个用于由调度器合作调度的微线程/用户态线程(协程)的框架。API 包含管理和同步协程的类和函数,类似于 boost.thread。
协程能够保存当前的执行状态,包括所有寄存器和 CPU 标志、指令指针以及堆栈指针,并在以后恢复此状态。其思想是通过一种合作式调度(线程是抢占式调度的)在单个线程上运行多个执行路径——运行中的协程明确决定何时让出以允许另一个协程运行(上下文切换)。
与 x86 上数千个 CPU 周期的线程上下文切换成本相比,协程切换成本通常不到 100 个周期。协程在任何给定时间只能在一个线程上运行。
Boost.fiber 需要 C++11!