On 14/07/2014 17:58, imran sheikh
wrote:
> When I ran this piece of code on my machine I found that for every run 4
> threads are only used out of the pool. As I have 4 cores in my machine.
> Is it so??
[...]
> for(size_t i=0; i<boost::thread::hardware_concurrency(); i++) {
> group.create_thread(
> boost::bind(&boost::asio::io_service::run, &ioservice)
> );
> }
You're creating 4 threads for your
pool. This should not surprise you.
> Also, my application is time-sensitive and I need to do some time
> measures. If I use sleep my results will be incorrect. So, please
> suggest an alternative way to get notified when all the threads
> finish without using sleep.
There isn't any obvious reason to call sleep in the code that you had to
begin with.
If you want to retrieve the individual results of each asynchronous task
rather than waiting for all tasks to complete, you might want to read up
on futures.
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.orghttp://lists.boost.org/mailman/listinfo.cgi/boost-users