using a cached thread pool if no pool size is specified