Boost logo

Boost :

Subject: Re: [boost] [gsoc-2013] Boost.Thread/ThreadPool project
From: Oliver Kowalke (oliver.kowalke_at_[hidden])
Date: 2013-04-30 11:48:15


2013/4/30 Niall Douglas <ndouglas_at_[hidden]>

> > As Oliver noted you could take a look at Boost.Fiber and Boost.Task.
>
> Right now anything Boost.Context based can't have multiple contexts
> simultaneously entering the kernel apart from on QNX and possibly Hurd.
> Therefore, for the time being, full fat threads are the only thing being
> considered. If kernel support ever includes coroutines or fibres, that will
> be eagerly added (I like coroutines, I use them a lot on Python).
>

the idea of coroutines/fibers is that the context switche do not involve
the kernel - usually a context switch
with coroutiens on x86 takes ca. 40 cycles - switches with threads (which
require syscalls into the kernel) require ca. 1000 cpu cyles.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk