Eric Woodruff said:
> Yeah, it's the same concept. I had failed to distinguish thread_pool
> versus thread_group.
>
> Hopefully, adding the timeout and growing logic does not sacrifice the
> efficiency of the pool when it is full/has plenty to work on.

Shouldn't be a large issue.  If the pool is full (i.e. max_threads has
been created and all are busy) the queue can still be added to, so there's
no effect to the performance of add.  The check for being full is a simple
integer comparison, so shouldn't effect the performance.  The check for
decaying a thread uses conditions and timeouts, so also should not effect
the efficiency.  The only thing that can effect efficiency is the actual
act of creating a thread when the pool grows, but careful specification of
min/max/timeout can optimize this.  If you have to, you can specify
min/max to be the same, thus fixing the size of the pool and ensuring you
never incur the overhead of growing the pool.  However, this will often be
at a sacrifice to resource utilization, so individual needs will have to
dictate how one defines these parameters.

-- 
William E. Kempf


_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to