Boost logo

Boost :

Subject: Re: [boost] [gsoc-2013] Boost.Thread/ThreadPool project
From: Vicente J. Botet Escriba (vicente.botet_at_[hidden])
Date: 2013-05-01 18:42:57


Le 01/05/13 23:08, Vicente J. Botet Escriba a écrit :
> Le 01/05/13 20:39, Niall Douglas a écrit :
>>
> It is just that I don't know the term.
> As I don't know the domain (the words) you are talking about we can
> stop the exchange here if you prefer, or you could continue to
> explaining me the things I don't know/understand.

I have just read N3388 - Using Asio with C++11 and a think I start to
understand the ASIO design.
Could we say the completion handlers are continuations?
And that the user use to master which thread executes the continuation
by calling the io_service::run() function?
And that io_service can have associated also several threads (to form a
thread pool).
And that in order to avoid data races the user uses strands to serialize
the completion handlers that have access to shared data?

While continuation passing style could be well adapted to protocols (and
surely it is) , there are other domains that would prefer to write his
code in a more linear way. It is true that with C++11 lambdas the
continuation passing style is less opaque.

I hope that now I would be able to understand your concerns better.

Vicente


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