Project Description
Smart Thread Pool is a thread pool written in C#. It is far more advanced than the .NET built-in thread pool.
Here is a list of the thread pool features:* The number of threads dynamically changes according to the workload on the threads in the pool.
* Work items can return a value.
* A work item can be cancelled.
* The caller thread’s context is used when the work item is executed (limited).
* Usage of minimum number of Win32 event handles, so the handle count of the application won’t explode.
* The caller can wait for multiple or all the work items to complete.
* Work item can have a PostExecute callback, which is called as soon the work item is completed.
* The state object, that accompanies the work item, can be disposed automatically.
* Work item exceptions are sent back to the caller.
* Work items have priority.
* Work items group.
* The caller can suspend the start of a thread pool and work items group.
* Threads have priority.
* Can run COM objects that have single threaded apartment.
* Support Action and Func delegates.
* Support for WindowsCE (limited)
* The MaxThreads and MinThreads can be changed at run time.
* Cancel behavior is imporved.