Hi,
I have some (beginners) question about the example
server3-porgram that ships with the library. It uses
multiple threads with a single io_service. In the
method server::run() this happens:
std::vectorboost::thread >
threads;
for (std::size_t i = 0; i < thread_pool_size_; ++i)
{
boost::shared_ptrboost::thread thread(new
boost::thread(boost::bind(&boost::asio::io_service::run,
&io_service_)));
threads.push_back(thread);
}
for (std::size_t i = 0; i < threads.size(); ++i)
threads[i]->join();
But when are the threads actually scheduled? Does this
happen by the shared io_service? Are the registered
callback methods for async_read, async_accept, etc
executed in the threads?
Also, are there any tradeoffs that I should know off
for using the single io_service vs
io_service-per-thread approach?
Thank you,
Andrej
___________________________________________________________
Yahoo! Mail is the world's favourite email. Don't settle for less, sign up for
your free account today http://uk.rd.yahoo.com/evt=44106/*http://uk.docs.yahoo.com/mail/winter07.htm...