Boost logo

Boost Users :

From: Philipp Henkel (threadpool_at_[hidden])
Date: 2006-10-14 07:43:40


Hi,

I'm the author of a boost based thread pool lib (http://threadpool.sf.net)
mentioned before in the "boost::thread queries" thread and I would like to
give you some insight in the lib's future. As there's strong request for
further features I plan to extend the pool step by step. Scott Meyers
inspired me with policy based design at one of this C++ workshop and
therefore I'm going to provide more policies for the pool.

1. Task scheduling policies
Lifo, fifo, and priority based policies are already implemented. However,
there's some work to be done to support bounded / blocking queues.

2. Pool resizing policies (Not implemented)
These policies control the number of threads in the pool: Fixed pool,
growing pool, bounded pool, dynamic shrinking, ...

3. Future creation policy (Not implemented)
- General support for futures
- Implementation independence: support for arbitrary future implementations
(e.g. the future lib in boost vault)
- I plan to provide a simple future implementation modelled on Peter Dimov's
proposal http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2096.html

4. General design
I think, the Java framework (J2SE5 as java.util.concurrent) is well
designed. I plan to provide similar functionality (futures, dynamic pools,
etc) without relying on the interface concept (using templates and
boost::function/bind instead).

I have not yet read the document "Multithreading API for C++0X" (
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2094.html). Anyway,
the threadpool lib should focus on providing a flexible, extensible,
light-weight pool which can be used easily in high level concepts (like the
Channel lib, fully featured futures, etc.).

Any ideas and comments are welcome.

Best regards,
Philipp



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net