2
0
mirror of https://github.com/boostorg/fiber.git synced 2026-02-14 00:32:17 +00:00

update README.md

This commit is contained in:
Oliver Kowalke
2013-02-03 19:45:53 +01:00
parent 6fa99fd928
commit 51591baff6

View File

@@ -4,7 +4,8 @@ boost.fiber
boost.fiber provides a framework for micro-/userland-threads (fibers) scheduled cooperativly.
The API contains classes and functions to manage and synchronize fibers similiar to boost.thread.
This library is intended to support quasi-concurrency on embedded system or to replace boost.thread
for testing puposes (for instance checking for raise conditions).
for testing puposes (for instance checking for raise conditions) and to solve the many depended
task problem.
A fiber is able to store 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
@@ -12,6 +13,9 @@ execution paths running on a single thread using a sort of cooperative schedulin
preemptively scheduled) - the running fiber decides explicitly when its yields to allow another fiber to
run (context switching).
Fibers can be synchronized running in different threads. In order to support task steeling it boost.fiber
support migration of fibers between threads.
A context switch between threads costs usally thousends of CPU cycles on x86 compared to a fiber switch
with less than 100 cycles. A fiber can only run on a single thread at any point in time but may be
migrated between threads.
migrated between threads.