pra*_*nth 5 java multithreading
在我们的应用程序中,我们有很多ThreadPoolExecutors.当应用程序空闲时,ThreadPoolExecutors也是空闲的,但应用程序中的空闲线程数非常多.
在线程转储中,我发现大多数线程属于ThreadPoolExecutor等待任务的s.是否有任何副作用使这些工作线程保持活力?我应该使用setAllowCoreThreadTimeOut(),ThreadPoolExecutor以便工作线程在闲置一段时间后死亡吗?
每个线程都有一个关联的堆栈,需要一定量的内存(可配置)。如果您的线程处于等待状态(即使它们不是),它们也会保留该内存。它不能被应用程序的其余部分使用。因此,停止这些线程(使用setAllowCoreThreadTimeout())、释放它们保留的内存并让ThreadPoolExecutor它们根据需要重新创建可能是有意义的。
| 归档时间: |
|
| 查看次数: |
823 次 |
| 最近记录: |