ThreadPool changes in .NET 3.5 SP1 Beta

.NET 3.5 SP1 (A.K.A. CLR 2.0 SP2) is now available as a Beta release.

This beta release has the fix for the ThreadPool ramp-up issue discussed here and here.  It also has some other improvements to the ThreadPool's thread creation algorithm that can dramatically improve performance in some situations.

The "thread injection" algorithm in the ThreadPool is a tricky beast.  There's simply no perfect solution to the problem - so every change is a complex balancing act between improving performance for a specific customer scenario on the one hand, and not creating more problems for other customers on the other.

We've tried to make these changes as carefully as possible, running them through all the threadpool scenario tests we've accumulated over the years.  But we can't possibly test every real-world workload - we don't even know about them all! - and we necessarily have to depend on things like beta releases to find the problems our tests will never find.

If you have code that uses the thread pool, I encourage you to download this beta and try it out.  Feel free to leave a comment here about any problems you might find, or you can use the official discussion forum and feedback center for the beta. 

And if you have any suggestions for future improvements, and especially if you have examples of workloads that the current ThreadPool does not handle well, please let us know. 

I look forward to any feedback you might have.