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