舒服微笑

文章
5
资源
0
加入时间
2年10月21天

线程池中的线程是如何超时自动销毁的?

worker 线程会从阻塞队列中获取需要执行的任务,这个方法不是简单的 take 数据,我们来分析下他的源码实现你也许好奇是怎样判断线程有多久没有活动了,是不是以为线程池会启动一个监控线程,专门监控哪个线程正在偷懒?想太多,其实只是在线程从工作队列 poll 任务时,加上了超时限制,如果线程在 keepAliveTime 的时间内 poll 不到任务,那我就认为这条线程没事做,可以干掉了 private Runnable getTask() { boolean timedOut

Oracle 自己主动内存管理 SGA、PGA 具体解释

ASMM自己主动共享内存管理:自己主动依据工作量变化调整 最大程度地提高内存利用率 有助于消除内存不足的错误 SYS@PROD>show parameter sgaNAME TYPE VALUE------------------------------------ -----...