Each UserThreadPoolExecutor is given a maximum number of threads from a shared ThreadPoolExecutor