I agree that this is a good idea but it will touch a bunch of different files, so I'm inclined to do it in a separate commit if that's alright with you.  I did change the keep alive time to 0 -- once the # of threads is now small, it seems silly to stop the threads if they aren't being used.