我们在代码中经常需要使用for循环这个 *** 作来达到目的。而当for循环的次数过多,以及多重for循环时,我们会发现执行效率会变的很低,整体耗时非常多。
本次我们就使用多线程并发的方式来对循环进行优化。
多线程并发实现 1. 创建线程池// newFixedThreadPool是固定线程池,10代表线程池数量 ExecutorService pool = Executors.newFixedThreadPool(10);2. 写for循环,并在for循环中创建Runnable对象
for (int i = 0 ; i < groupValues.size() ; i++) { SitGroupPortray groupValue = groupValues.get(i); // 创建Runnable对象 Runnable runnable = new Runnable() { // 重写runnable对象中的run方法 @Override public void run() { // 业务逻辑 } }; // 步骤1 中创建的线程池对runnable对象调用 pool.execute(runnable); }3. 关闭线程池
// 步骤1 中线程池,进行关闭 pool.shutdown();4. 之后需要做一个判断,判断只有所有的线程都执行完才能往下执行
while(true){ if(pool.isTerminated()){ break; } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)