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
贡献者