Package
libboost-fiber1.62.0Version
1.62.0+dfsg-4Priority
optionalSection
universe/libsSource
boost1.62Origin
UbuntuMaintainer
Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>Original Maintainer
Debian Boost Team <pkg-boost-devel@lists.alioth.debian.org>Bugs
https://bugs.launchpad.net/ubuntu/+filebugInstalled Size
111 kBDepends
libboost-context1.62.0, libc6 (>= 2.4), libgcc1 (>= 1:3.0), libstdc++6 (>= 5.2)Homepage
http://www.boost.org/libs/fiber/Download Size
25.6 kBAPT Manual Installed
noAPT Sources
http://gb.archive.ubuntu.com/ubuntu zesty/universe amd64 PackagesDescription
cooperatively-scheduled micro-/userland-threadsThis package forms part of the Boost C++ Libraries collection.
.
Boost.Fiber provides a framework for micro-/userland-threads (fibers)
scheduled cooperatively. The API contains classes and functions to manage
and synchronize fibers similarly to standard thread support library.
.
Each fiber has its own stack.
.
A fiber can save the current execution state, including all registers and
CPU flags, the instruction pointer, and the stack pointer and later
restore this state. The idea is to have multiple execution paths running
on a single thread using cooperative scheduling (versus threads, which are
preemptively scheduled). The running fiber decides explicitly when it
should yield to allow another fiber to run (context switching).
Boost.Fiber internally uses execution_context from Boost.Context; the
classes in this library manage, schedule and, when needed, synchronize
those execution contexts. A context switch between threads usually costs
thousands of CPU cycles on x86, compared to a fiber switch with less than
a hundred cycles. A fiber runs on a single thread at any point in time.