|
Boost : |
Subject: Re: [boost] review request for boost.context
From: Oliver Kowalke (k-oli_at_[hidden])
Date: 2010-07-29 02:32:14
Am 29.07.2010 06:55, schrieb Yigong Liu:
> I'd very much like (see someone else) implementing
> CSP like channel/light-weight-process on top of it.
I've implemented boost.fiber on top of boost.context - it aims to be a
light-weight-process (with scheduling etc.). boost.fiber provides some
channels too which can be used to exchange data between fibers even if
they are running in different threads (fiber blocks/yields if it is
waiting on a channel and gets resumed -> special mutex and condition
vairables).
I don't know if the channels of boost.fiber conform to CSP.
> My recent experience
> with google's Go language give quite positive impression of that model.
I try to provide similiar functionality to C++.
> Have you had a look of Russ Cox's libtask (http://swtch.com/libtask/)? which also
> provide a context wrapper (on *nix platforms).
I didn't knew libtask - seams similiar implementation is C (despite the
fact of differences in assembler).
> For the windows platform, now we have user-mode-scheduling (UMS) feature in
> Windows7 and WindowsServer2008R2, which kind of fixed many issues of fibers.
> Could it be a fallback for your interface?
Unfortunately XP is still my developing platform (have no access to
Windows7 etc.). Maybe it could be a fallback.
Oliver
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk