
Java
winpine
这个作者很懒,什么都没留下…
展开
-
ThreadPoolExecutor的corePoolSize和maximumPoolSize
按照JDK文档的描述, 如果池中的实际线程数小于corePoolSize,无论是否其中有空闲的线程,都会给新的任务产生新的线程 如果池中的线程数>corePoolSize and <maximumPoolSize,而又有空闲线程,就给新任务使用空闲线程,如没有空闲线程,则产生新线程 如果池中的线程数=maximumPoolSize,则有空闲线程使用空闲线程,否则新任务放入work...原创 2010-05-11 22:03:35 · 445 阅读 · 0 评论 -
common pool 导致CPU高
有个应用的CPU使用率很高,有时到100%,因为这个原因,产生连锁反应,最终系统宕掉。 检查应用的源码,发现其中使用了开源的common pool的对象池来管理对象。以前就知道这个开源包有些问题,但是看其中的使用,应该没有什么问题。自己也做了大量的实验也没有重现CPU高的问题。 再仔细分析找个应用发现一个特别的情况,pool的大小是1000,而访问这个pool的线程甚至能到达4000。(这么多...原创 2010-10-21 21:25:13 · 207 阅读 · 0 评论