A mechanism is provided for enabling a request to be evaluated prior to the request
being disposed. Particularly, an evaluation function is associated with a thread
pool. Whenever a thread is to be assigned from that thread pool, the evaluation
function may be invoked. The evaluation function may be invoked in response to
one or more conditions being satisfied, or it may be invoked each time a thread
is needed from that thread pool. When invoked, the evaluation function performs
an evaluation on the request. Based upon the evaluation, the evaluation function
may take one or more actions. For example, if the evaluation function determines
that the request is a high priority request, then it may ensure that the request
will be processed regardless of system workload. The evaluation function is user
specifiable; thus, it may be programmed to perform any desired operations, and
to take any desired considerations and factors into account. Overall, the evaluation
function gives a user great freedom in determining how to dispose of a request.