int可数大循环事故
1 | tomcat线程池 |
int 循环里是没有Safepoint,也就是它会一直执行下去,在parallel那一章我们都知道vmthread每隔1000ms就会让线程进入Safepoint进行stw,stw得等所有线程都进入Safepoint,才能继续往下执行,也就是你这一个大循环线程就会拖累所有线程,你妈的连jstack都进不去
小米的HBASE出过这么一个事故
解决方案:换成long,因为long会有Safepoint
1 | tomcat线程池 |
int 循环里是没有Safepoint,也就是它会一直执行下去,在parallel那一章我们都知道vmthread每隔1000ms就会让线程进入Safepoint进行stw,stw得等所有线程都进入Safepoint,才能继续往下执行,也就是你这一个大循环线程就会拖累所有线程,你妈的连jstack都进不去
小米的HBASE出过这么一个事故
解决方案:换成long,因为long会有Safepoint