选中“可增长”复选框后,可以暂时超出最大线程数。线程上的工作完成后,这些额外的线程将被丢弃。
我找不到任何文档说明最大线程数可以超出多少。它是超出最大设置的固定数字吗?百分比?受其他全局配置限制?直到 JVM 资源耗尽才受限制?
答案1
我认为,当 WorkManager 的线程池被标记为可增长时,不存在任何上限。知识中心WSVR0630I 消息的文档暗示了这一点,“只要工作请求超过当前可用线程数,线程池就会持续增长”。
为了参考,完整的消息复制到此处:
WSVR0630I:可增长线程池“{0}”已超出其最初定义的最大容量。池大小当前为“{1}”。
解释 指定的线程池已达到其预定义的最大大小,将进行扩展。
行动 无需立即采取行动;但是,只要工作请求超过当前可用线程数,线程池就会继续增长。
看起来像PM13147添加了上述消息的日志记录。