![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
thread
保持_沉默
路易十四爱江山
展开
-
应用线程数过高及生产问题的排查:ThreadPoolExecutor
因为最近支付系统总是报错无法创建新的线程导致交易失败,领导很重视。查看linux对用户的限制(ulimit -a),发现文件句柄和线程数的大小限制在1024,而通过查看应用实时线程发现数量超过了1100+(pstree -p `ps -e | grep pay | awk '{print $1}'` | wc -l)。通过jstack检查dump文件发现有大量由线程池创建的线程,并且状态为WAIT...原创 2019-01-15 00:09:18 · 1452 阅读 · 0 评论 -
ThreadPoolExecutor中关于keepAliveTime的解读
先说结论:它是指大于核心线程数的线程空闲多久后被移除。 首先要明白ThreadPoolExecutor中的Worker是干嘛的? 它其实是一个持有Task工作任务的线程封装类,也就是它来直接执行你提交的task任务的run()的。 从execute方法开始 public void execute(Runnable command) { if (command ==...原创 2019-02-25 01:07:39 · 1512 阅读 · 0 评论