1、导致问题
最后可能会导致JVM OOM,系统崩溃
2、解决方式
可以考虑自己定制线程池,使用有界队列,不要使用无界队列,可以限制内存空间的使用,避免系统崩溃;无界队列,直接支撑前端的请求,不允许有界阻塞,到最后大不了就是系统崩溃
远程服务异常的话,可能会导致另外一个问题,你的线程不停的异常报错和崩溃退出
如果你提交到线程池的任务报错了,抛了异常出来,在线程池执行的过程中,Worker层面接收到一个异常,会直接throw抛出去
只要有一个Worker异常挂掉,此时就会把这个worker从线程池里给挪出去,然后判断一下,如果当前线程数量 < corePoolSize,就会重新创建一个Worker和线程放入线程池中,自己再搞一个补位