之前在跑定时任务时,就单线程用for轮询,不仅慢,如果一个NPE还造成整个Task中断,用Runable就方便多了。
1、定义一个task类,作为调用一个线程

2、ExecutorService开启多个线程

ExecutorService executorService = Executors.newFixedThreadPool(dates.size())的dates.size就是线程数
用30000条数据测试,由原来的3200秒减少到91秒,提升了97%
通过将单线程轮询转换为使用Runnable与ExecutorService执行多线程任务,显著提高了处理速度,将30000条数据的处理时间从3200秒减少到91秒,效率提升97%。
之前在跑定时任务时,就单线程用for轮询,不仅慢,如果一个NPE还造成整个Task中断,用Runable就方便多了。
1、定义一个task类,作为调用一个线程

2、ExecutorService开启多个线程

ExecutorService executorService = Executors.newFixedThreadPool(dates.size())的dates.size就是线程数
用30000条数据测试,由原来的3200秒减少到91秒,提升了97%
2601
1195

被折叠的 条评论
为什么被折叠?