This looks like a great tool and I would love to utilize it.
I have a question on some posts I saw, and one of your own admonishments.
1) This post on Codeplex (http://www.codeproject.com/Messages/3284374/Heavy-CPU-Usage-modified.aspx) indicates that the pool is not efficient at queueing under load.
Has this been addressed?
2) Your own article makes the following statement:
When to use?
The Smart Thread Pool is good when your work items don't do too much, but wait for events, IOs, sockets, etc. This means that the work items don't use CPU, but run for a long time. It is also good when you don't need to keep alive too many threads in
the air all the time. If your work items do a short time work, then use the .NET ThreadPool. If you have a constant heavy load of work, then use Toub's thread pool and define the maximum number of threads accordingly.
Can you elaborate on why you make this restriction?
Can you offer some more guidelines to use when evaluating appropriateness?
We'd like to use it as the basis of a prioritized processing daemon framework. What I am concerned about is that I know where the line is, so we don't cross it and wind up with a problem down the line. I need to know the underlying reasons for your
Eric A. Anderson