Re: [boost] [gsoc-2013] Boost.Thread/ThreadPool project
That's orthogonal. Boost.Asio provides the funding blocks. A nicer interface that doesn't require an explicit continuation passing style transformation can be built with Boost.Context or a similar library. But it probably needs a future implementation that integrates with ASIO, which is one of the point of Niall Douglas. Spot on. Especially as parts of ASIO are due to enter with TR2. I worry
Le 02/05/13 18:01, Niall Douglas a ?crit : that
a thread pool designed without ASIO in mind would become an orphan isolate. What a ThreadPool must provide to satisfy the ASIO requirements?
That's a very good question. And for me to answer in specifics I'd need to think deeply about the issue, and study examples, neither of which time currently allows given C++Now is just around the corner. All I can say right now - and I agree this isn't very helpful - is make it compatible with opaque third party event loop dispatchers such as Qt's QCoreApplication and QRunnable. Because Qt's implementation details iare opaque to external code, if you can meet compatibility with that you'll probably be compatible with anything Boost.ASIO can come up with, especially as most of Boost.ASIO is header defined. I appreciate that isn't very helpful. Thread pool design is hard :( Niall
Le 03/05/13 19:26, Niall Douglas a écrit :
That's orthogonal. Boost.Asio provides the funding blocks. A nicer interface that doesn't require an explicit continuation passing style transformation can be built with Boost.Context or a similar library. But it probably needs a future implementation that integrates with ASIO, which is one of the point of Niall Douglas. Spot on. Especially as parts of ASIO are due to enter with TR2. I worry
a thread pool designed without ASIO in mind would become an orphan isolate. What a ThreadPool must provide to satisfy the ASIO requirements? That's a very good question. And for me to answer in specifics I'd need to
Le 02/05/13 18:01, Niall Douglas a ?crit : that think deeply about the issue, and study examples, neither of which time currently allows given C++Now is just around the corner.
All I can say right now - and I agree this isn't very helpful - is make it compatible with opaque third party event loop dispatchers such as Qt's QCoreApplication and QRunnable. Because Qt's implementation details iare opaque to external code, if you can meet compatibility with that you'll probably be compatible with anything Boost.ASIO can come up with, especially as most of Boost.ASIO is header defined.
I appreciate that isn't very helpful. Thread pool design is hard :(
I wish you a good C++ Now. I would like to be there also :( I will try to digest QT and understand better ASIO to see if I can find it myself. Anyway, let me know if you have more helpful comments when you will have time. Best, Vicente
Vicente wrote on Friday, May 3, 2013 at 21:42:48:
I wish you a good C++ Now. I would like to be there also :( I will try to digest QT and understand better ASIO to see if I can find it myself. Anyway, let me know if you have more helpful comments when you will have time.
i have had solid experience with qt, including qt's threadpool i think i could provide some expertise at your desire considering qt and qt's threadpool feel free to ask me on the list as well as off the list about it don't promise a rapid reply, but i _will_ reply eventually -- Pavel P.S. if you notice a grammar mistake or weird phrasing in my message please point it out
Le 03/05/13 20:35, pavel a écrit :
Vicente wrote on Friday, May 3, 2013 at 21:42:48:
I wish you a good C++ Now. I would like to be there also :( I will try to digest QT and understand better ASIO to see if I can find it myself. Anyway, let me know if you have more helpful comments when you will have time. i have had solid experience with qt, including qt's threadpool
i think i could provide some expertise at your desire considering qt and qt's threadpool
feel free to ask me on the list as well as off the list about it
don't promise a rapid reply, but i _will_ reply eventually
Thanks Pavel, have you an answer to the question: What a ThreadPool must provide to satisfy the ASIO requirements? Or QT requirements? Best, Vicente
Vicente wrote on Friday, May 3, 2013 at 23:58:51:
Le 03/05/13 20:35, pavel a écrit :
i have had solid experience with qt, including qt's threadpool
i think i could provide some expertise at your desire considering qt and qt's threadpool
feel free to ask me on the list as well as off the list about it
don't promise a rapid reply, but i _will_ reply eventually
Thanks Pavel,
have you an answer to the question:
What a ThreadPool must provide to satisfy the ASIO requirements?
Or QT requirements?
it seems i'm completely off the context can you explain what you mean by asio requirements? type requirements imposed by boost.asio? (sorry, i'm not really knowledgeable about boost.asio) i'm not aware of any requirements imposed by Qt itself, it "just has" an implementation of a threadpool -- Pavel P.S. if you notice a grammar mistake or weird phrasing in my message please point it out
On 5/3/2013 4:58 PM, pavel wrote:
Vicente wrote on Friday, May 3, 2013 at 23:58:51:
Le 03/05/13 20:35, pavel a écrit :
i have had solid experience with qt, including qt's threadpool
i think i could provide some expertise at your desire considering qt and qt's threadpool
feel free to ask me on the list as well as off the list about it
don't promise a rapid reply, but i _will_ reply eventually
Thanks Pavel,
have you an answer to the question:
What a ThreadPool must provide to satisfy the ASIO requirements?
Or QT requirements?
it seems i'm completely off the context
can you explain what you mean by asio requirements? type requirements imposed by boost.asio? (sorry, i'm not really knowledgeable about boost.asio)
i'm not aware of any requirements imposed by Qt itself, it "just has" an implementation of a threadpool
IIUC, the question is related to Qt's API for integrating with Qt's event dispatcher, which (IIUC again:p) is used by QApplication, QCoreApplication and QThread. Apologies if I'm off target here. Jeff
participants (4)
-
Jeff Flinn
-
Niall Douglas
-
pavel
-
Vicente J. Botet Escriba