threadpool | Overview | Reference | Tutorial | Examples | Design

Overview | Main Page | Change Log | Software License

Change Log

0.2.5 (Stable)

- Made threadpool compatible to boost::thread 1.37
- Fixed hang problem in shutdown method (Thanks to Sohail Somani)
- Adapted repository layout to boost (Thanks to Alex Ott)

0.2.4 (Stable)

- Made threadpool compatible to boost::thread 1.35.x code base
- Fixed compiler warning in scope_guard.hpp

0.2.4 (Stable)

- Made threadpool compatible to boost::thread 1.35.x code base
- Fixed compiler warning in scope_guard.hpp

0.2.3 (Development)

- Implemented workaround for Sun C++ Pro compiler bug in pool_core
- Removed subtask implementation (there was no demand for this feature)
- Improved shutdown policies

0.2.2 (Development)

- Refactored SizePolicy and added SizePolicyController
- Moved policies into separate files
- Fixed some compiler problems (GCC)
- Implemented size_controller handling
- Implemented two size policies: static_size and fixed_size
- Refactored worker_thread handling, moved policies from pool_core to pool
- Specialized schedule function for usage with futures
- Added compile test project
- Improved constness in pool core class
- Fixed timed wait
- Implemented futures (in progress)
- Added result_type to all functors

0.2.1 (Development)

- Pool base class (thread_pool) has now reference semantics.
- Large refactorings: Removed scoped_pool, reimplemented worker (now worker_thread)
- Fixed odd resize behaviour. Now resize changes the number of threads immediately.
- Apply pimpl idiom on pool core class (to make the ugly scoped_pool class needless)
- Introduced scheduling policies
- Switched to policy-based design (PBD), inspired by Scott Meyers C++ workshop
- Cosmetic code change: Replaced keyword 'class' with 'typename' in template definitions
- Revised tutorials
- New requirements: tasks functions should not and schedulers shall not throw exceptions

0.2.0 (Development)

- Moved threadpool into the boost namespace: boost::threadpool
- Used keyword volatile to indicate thread-safe member functions
- Used volatile on primitve types were appropriate
- Moved worker to detail directory
- Fixed thread deletion
- Extended wait functionality (waiting for idle threads was implemented)
- Renamed 'join()' to 'wait()' as 'join' indicates the termination of thread. That was not the case in pool::join.
- Changed internal container of lifo and fifo schedulers to improve efficiency.
- Improved code reference documentation (source code browser)
- Renamed thread_func into task_func
- Added += operator to scoped_pool to ease scheduling of tasks
- Refactored file structures and class names
- Added a new task concept (named subtask) which allows the combination of sequential and parallel execution
- Added new task adaptor for looped or timed tasks: looped_task_func
- Introduced function clear() which can be used to remove all tasks from the pool and schedulers
- New function pool::active() which returns the number of active tasks

0.1.8 (Development)

- Fixed some compile errors which were reported by gcc
- Wrote tutorial "Prioritized Tasks"

0.1.7 (Development)

- Added Visual Studio 2005 project files for tutorial and examples

0.1.6 (Development)

- Replaced task adaptor 'task' with boost::bind
- Workers are unregistered from thread_group when they are terminated
- Working on example boost::iostreams packet_filter

0.1.5 (Development)

- Finished threadpool reference
- Class pool_adaptor was replaced by smart_pool
- Minor pool improvements
- First tutorial page online

0.1.4 (Development)

- Created the pool's homepage: http://threadpool.sourceforge.net
- Improved documentation
- Added build scripts

0.1.3 (Development)

- First public release
- Added mergesort example
- Added tutorial
- Implementation of threadpool core and related classes

Copyright © 2005-2008 Philipp Henkel | Overview | Reference | Tutorial | Examples | Design