In preferred embodiments that also dynamically adjust the number of thread pools and/or the number of threads in the pools, only one of these variables (upper bound on average execution time per pool, number of thread pools, and number of threads in pools) is adjusted at a time, and another snapshot is taken to determine whether the effect was positive or negative. [0034] Problems associated with