Very good blog post, but I really agree with its views on cachedThreadPool. I think the biggest feature of cachedThreadPool should be relative to FixedBlockingQueue. It is suitable for scenarios where the number of tasks is not fixed at every moment. Of course I also agree that it is suitable for short-time tasks, because if it takes a long time, there will be a bunch of tasks, and each task can afford a thread.