Boost logo

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