注意事项:
1、当需要使用异步线程时,哪怕只需要一个线程,都必须使用线程池获取;因为线程池可以减少 JVM 对线程的创建和销毁
2、线程池在使用过程中,有几个重要的参数比较重要
a、最大线程数:当需要处理的任务过多,最大线程数过大,会造成线程轮换 CPU 频繁,效率降低;同时也会造成 OOM 溢出
b、使用无边队列:当需要处理的任务过多,会造成 OOM 溢出
c、使用有边队列:当需要处理的任务过多,会造成任务丢失
d、当需要使用线程池处理大量任务/消息,尽量保证线程池所在服务的责任单一性,多部署服务节点,避免拒绝策略的触发;比如:一个线程池最大线程数是 50,最多可以同时处理 50 条数据,当服务节点变成 10 个节点,那么做多可以同时处理 500 条数据
3、核心业务是否可以异步/多线程处理
需求:up 在工作中,遇到一个使用OSS
全部评论
(0) 回帖