gpt4 book ai didi

java - 在 ThreadPoolExecutor 中设置 allowCoreThreadTimeOut() 是一个好习惯吗?

转载 作者:搜寻专家 更新时间:2023-10-31 20:19:49 25 4
gpt4 key购买 nike

在我们的应用程序中,我们有很多ThreadPoolExecutor。当应用程序空闲时,ThreadPoolExecutor 也空闲,但应用程序中的空闲线程数非常多。

在thread dump中,我发现大部分线程属于等待任务的ThreadPoolExecutor。使这些工作线程保持 Activity 状态是否有任何副作用?我应该在 ThreadPoolExecutor 中使用 setAllowCoreThreadTimeOut() 以便工作线程在空闲一段时间后死亡吗?

最佳答案

每个线程都有一个关联的堆栈,它需要一定量的内存(可配置)。如果您的线程处于等待状态(即使它们不是),它们也会保留该内存。它不能被您的应用程序的其余部分使用。因此,停止这些线程(使用 setAllowCoreThreadTimeout())、释放它们保留的内存并让 ThreadPoolExecutor 根据需要重新创建它们可能是有意义的。

关于java - 在 ThreadPoolExecutor 中设置 allowCoreThreadTimeOut() 是一个好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25700846/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com