Executors提供newCachedThreadPool()和newScheduledThreadPool(),但不newCachedScheduledThreadPool(),这里是什么给了?我有一个接收突发消息的应用程序,并且需要在每个消息的固定延迟之后安排相当长的处理步骤.时间限制不是非常严格,但如果我超过池大小,我宁愿在运行中创建更多线程,然后在不活动期间将它们修剪回来.有没有我在并发库中遗漏的东西,还是我需要自己编写?
我可以想象一些任务计划花费很长时间,并ScheduledThreadPoolExecutor为其他需要运行的任务创建额外的线程,直到达到最大线程数.
但似乎我只能为池指定固定数量的线程,为什么会这样呢?