概述
1.拒绝策略设置不合理导致的线程无限阻塞等待问题
拒绝策略设置为 丢弃,如果再去 get 会一直阻塞
2. 线程池嵌套使用造成死锁
线程池内的线程又使用了线程池内的线程,父子线程相互等待:
假设 executorService 线程数最大为10
10个请求同时到达时,线程池被打满,子任务请求被迫进入阻塞队列
但是父任务的完成又依赖于子任务,这时由于子任务得不到线程,父任务无法完成
主线程执行join()进入阻塞状态,因为永远获取不到结果,永远无法恢复,造成服务故障
并行调用时一定要进行线程池隔离
最后
以上就是英俊咖啡为你收集整理的线程池使用不当总结的全部内容,希望文章能够帮你解决线程池使用不当总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复