A throttling specification is received by a computer task to direct the
computer task's usage of critical computer resources, such as CPU cycles.
The computer task comprises units of work, and the elapsed time of each
unit of work is calculated as each unit of work completes. Upon the
completion of one unit of work, a suspension time is calculated based at
least partially on the throttling specification and the elapsed time
corresponding to the completed unit of work. Prior to initiating the next
unit of work for the computer task, the computer task is suspended for
the calculated suspension time. In this manner, other important computing
tasks operating in the computer system have access to critical computer
resources during the suspension period. Even though the computer task may
be given the highest possible priority to ensure a timely and predictable
completion, total monopolization of critical computer resources is
avoided.