Boost
arrow_drop_down
Boost.Fiber
M
D

本次发布

Oliver Kowalke
Oliver Kowalke
作者

依赖项

Boost.fiber

Boost.fiber 提供了一个用于由调度器合作调度的微线程/用户态线程(协程)的框架。API 包含管理和同步协程的类和函数,类似于 boost.thread。

协程能够保存当前的执行状态,包括所有寄存器和 CPU 标志、指令指针以及堆栈指针,并在以后恢复此状态。其思想是通过一种合作式调度(线程是抢占式调度的)在单个线程上运行多个执行路径——运行中的协程明确决定何时让出以允许另一个协程运行(上下文切换)。

与 x86 上数千个 CPU 周期的线程上下文切换成本相比,协程切换成本通常不到 100 个周期。协程在任何给定时间只能在一个线程上运行。

Boost.fiber 需要 C++11!

全部时间

Rosen Penev
Rosen Penev
贡献者
Rene Rivera
Rene Rivera
贡献者
Peter Dimov
Peter Dimov
贡献者
Romain Geissler
Romain Geissler
贡献者
Brandon Kohn
Brandon Kohn
贡献者
Edward Diener
Edward Diener
贡献者
Daniela Engert
Daniela Engert
贡献者
A.Abelha
贡献者
Dmitry Khominich
贡献者
EGuesnet
EGuesnet
贡献者
Glen Fernandes
Glen Fernandes
贡献者
Benjamin Kaufmann
贡献者
Ingo Mueller
Ingo Mueller
贡献者
brad0
brad0
贡献者
xaqq
xaqq
贡献者
Martin Rückl
Martin Rückl
贡献者
Nat Goodspeed
Nat Goodspeed
贡献者
Dix Lorenz
Dix Lorenz
贡献者
Ronan Keryell
Ronan Keryell
贡献者
Yao Yao
Yao Yao
贡献者
Khem Raj
Khem Raj
贡献者
PooyaEimandar
PooyaEimandar
贡献者
yhsb2k
贡献者
David Eritsyan
David Eritsyan
贡献者
Sergey Fedorov
Sergey Fedorov
贡献者
xiaodaxia
xiaodaxia
贡献者
Gregor Jasny
Gregor Jasny
贡献者
Ed Catmur
Ed Catmur
贡献者
Danil Sidoruk
Danil Sidoruk
贡献者
Tianqi
Tianqi
贡献者
Frédéric Bron
Frédéric Bron
贡献者
Damian Jarek
Damian Jarek
贡献者
Jan Beich
Jan Beich
贡献者
Milan Svoboda
Milan Svoboda
贡献者
Kumar Shivam Ranjan
Kumar Shivam Ranjan
贡献者
Roman Gershman
Roman Gershman
贡献者
jakob lovhall
jakob lovhall
贡献者
niekbouman
niekbouman
贡献者
Jason C.H
Jason C.H
贡献者