Subject: [boost] [asio] Question regarding io_service.post() and pool of threads
From: Romain CHANU (romainchanu_at_[hidden])
Date: 2010-09-27 23:18:22
I was looking at this website where the guy gives an interesting example
about the use of a pool of threads and io_service.post():
However, something confuses me a bit, cf. the website "In just a bunch of
lines of code we have a thread pool executing any arbitrary task whenever
one thread is available. No need to address the usual multi-threading issues
with concurrent jobs sharing few resources: just post what you need and let
io_service take care of it!"
Extracted from Boost Asio reference: "The
that the handler will only be called in a thread in which the run(), run_one
(), poll() or poll_one() member functions is currently being invoked."
For my understanding, since there is a pool of threads, a handler can run
concurrently in different threads, even though we are using
Is that correct? My concern here is about the need or not to lock the data
accessed by the handler.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk