多线程/线程池的使用
注意事项:
1、当需要使用异步线程时,哪怕只需要一个线程,都必须使用线程池获取;因为线程池可以减少 JVM 对线程的创建和销毁
2、线程池在使用过程中,有几个重要的参数比较重要
a、最大线程数:当需要处理的任务过多,最大线程数过大,会造成线程轮换 CPU 频繁,效率降低;同时也会造成 OOM 溢出
b、使用无边队列:当需要处理的任务过多,会造成 OOM 溢出
c、使用有边队列:当需要处理的任务过多,会造成任务丢失
d、当需要使用线程池处理大量任务/消息,尽量保证线程池所在服务的责任单一性,多部署服务节点,避免拒绝策略的触发;比如:一个线程池最大线程数是 50,最多可以同时处理 50 条数据,当服务节点变成 10 个节点,那么做多可以同时处理 500 条数据
3、核心业务是否可以异步/多线程处理
需求:up 在工作中,遇到一个使用OSS空间的
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
八股文+场景题+算法真题 文章被收录于专栏
针对Java简历中项目的功能进行提问,大家可以在评论区中解答/讨论;同时提供八股文