'Kill off worker threads (not below self.min).'

def shrink(self, amount):

    for t in self._threads:
        if (not t.isAlive()):
            self._threads.remove(t)
            amount -= 1
    n_extra = max((len(self._threads) - self.min), 0)
    n_to_remove = min(amount, n_extra)
    for n in range(n_to_remove):
        self._queue.put(_SHUTDOWNREQUEST)
