A resource throttle holds a static list of n resources that are handed out in a
round-robin fashion to up to n concurrent jobs. A resource given to create
may be re-used many times in the lifetime of t but will never be used by more
than one job at a time.
kills t, which aborts all enqueued jobs that haven't started and all jobs enqueued
in the future. If t has already been killed, then calling kill t has no effect.
Note that kill does not effect currently running jobs in any way.
is_dead t returns true if t was killed, either by kill or by an unhandled
exception in a job.