
Java多线程
文章平均质量分 65
第七人格
写有价值的博客,分享有意义的生活ヾ(◍°∇°◍)ノ゙
展开
-
从一次上线问题看ThreadPoolExecutor基础原理与实战
楔子 小七公司的运维峰哥,最近发现有一个服务在线上运行一段时间后就会OOM,他审查代码后,怀疑是线程池使用不当的问题,于是拉着小七对面的晓东大神看了一下代码,不看不知道一看吓一跳,corePoolSize和maximumPoolSize居然都设置的是100。明显是使用线程池的开发同学没有理解线程池,正好小七最近和其他同事交流了这一块,这里把自己对线程池的理解记录下来。 Executor框架 Executor接口是线程池框架中最基础的部分,定义了一个用于执行Runnable的execute方法。 以下是他的部原创 2021-02-06 16:31:28 · 1899 阅读 · 0 评论 -
记一次重构实战的逻辑梳理记录
最近聚餐,小七被公司公认代码写的很优雅的朱大神表扬了,说看了这么多代码,就只有邀请短信那个功能的多线程用的好,这里把重构这块代码的思路写出来,毕竟思考一整天,编程半小时,重要的是思维。 业务需求 起飞前一定时间内,给满足条件的旅客发送可升舱信息。 逻辑整理 (1)查询可升舱航班(集合) (2)查询每一个航班下可升舱旅客(集合) (3)过滤旅客 (4)给满足条件的旅客,发送邀请升舱的短信 改造前 1、未做幂等和加锁,同一个接口,调多次,会造成数据积压和数据错误。 2、判断是否已经邀请,直接通过数据库查询,数据原创 2021-02-01 13:40:01 · 3741 阅读 · 1 评论 -
《Java多线程编程核心技术》学习笔记(1)
一、实现多线程的编程方式 (1)继承Thread类 public class MyThread extends Thread { @Override public void run() { super.run(); System.out.println("MyThread"); } } public class Run { publi原创 2019-02-23 18:27:07 · 10260 阅读 · 0 评论