Amir Kirsh is an expert of Object Oriented development and architecture, leading development teams and projects in variety of environments ranging from C++ low level communication systems to JEE, data oriented, financial infrastructures. Amir serves nowadays as the chief programmer of Comverse and as a staff member at the Academic College of Tel-Aviv Yaffo. In his spare time Amir writes in his blog On Software and Other Animals on items ranging from Unicode BOM to Google Chrome.
Thread pools are easy enough to understand, but in practice, do they provide the appropriate behavior? Specifically, what should the pool do when its threads are all in use? What should the caller do? In this article, Amir Kirsh offers a design for a comprehensive approach to this problem.