A system and method for managing threads and thread requests in an
application server. If the application is a thread-partitioned
application with a request, the thread manager may determine if an
application thread array for the application has less than the maximum
number of threads partitioned for the application. If it does, the thread
manager may retrieve a thread from the main thread pool, and assign it to
the request. If it does not, the thread manager may determine if there
are any free threads in an application thread array, and if there are,
one of the free threads in the application thread array may be assigned
to the request. If there are no free threads available in the application
thread array, the request may be added to a ready queue.