- 博客(4)
- 资源 (2)
- 收藏
- 关注
原创 使用Future配合CyclicBarrier实现多线程读取Excel文档并导入进DB
第一步:计算线程,分界点可根据实际情况进行更改 //存放数据的队列 Vector<List<NiaoJianDTO>> vector = new Vector<>(); //起一个线程池,防止A,B俩个线程同时读取到数据在不同线程里执行importData()方法 private final ExecutorService finalThreadPool = Executors.newFixedThreadPool(1);
2021-03-19 09:13:36 307 1
原创 记录单线程读取Excel文件慢转多线程的过程
公司需求:将Excel表格中的数据导入DB,表格中数据比较特殊,可能由30行组成一个人完整的数据,也有可能20行组成完整的数据。一开始实现方式:单线程读取Excel文件,假如文件有6000行,以1000行为分界点,读取到1000行的时候(判断第1000行的数据是否和第998行的数据为同一人,如果为同一人则1000--,一直到不是同一人为止)起一个线程解析数据。实现结果:读取1300条左右的数据耗时75秒,慢的过分,于是开始优化之路:优化思路:多线程读取Excel,计算需要的线程数 线程数 = 当
2021-03-18 11:21:21 925 1
原创 Java线程的生命周期
1、通用的线程的生命周期,简称:五态模型:1:初始状态 指语言层面上的创建线程,操作系统中还没有创建。2:可运行状态 指线程可以分配CPU执行,这时线程已经在系统中创建成功。3:运行状态 指当CPU处于空闲时会为其指定一个可运行状态的线程,并且将状态切换到运行状态。4:休眠状态 指当运行状态的线程调用一个阻塞API或者等待某个事件时,线程状态会转换到休眠状态,同时释放CPU的使用权,休眠状态的线程永远没有机会获得CPU使用权呢,当等待的事件出现时会转换到可运行状态。5:终止状态 指当线.
2021-03-04 12:49:42 3090
原创 Java等待-通知机制
Java等待-通知机制现实世界中的就医流程拥有着完善的等待 - 通知机制,对比该就医流程能更好的理解和应用并发编程中的等待 - 通知机制。基本就医流程:患者去挂号,然后到就诊门口分诊,等待叫号。 叫到自己号时,可以找大夫就诊(获取到锁)。 就诊过程中医生可能会让患者去做检查,同时叫下一位患者(不满足条件释放锁,线程进入等待状态)。 当患者做完检查后,拿报告重新分诊等待叫号(满足条件等待获取锁)。 当大夫再次叫到号时患者再去找大夫就诊(获取到锁)。用synchronized实现等待 -
2021-03-02 14:29:25 102
javaweb权限管理源码
2017-12-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人