Java利用多线程执行SQL减少执行时间提高效率 首先这是个人在实际的项目中使用的代码,部分敏感代码没有上,不过不影响对代码的理解: 1.实现自己的线程 /** * * @author * @date */ package ...
首先这是个人在实际的项目中使用的代码,部分敏感代码没有上,不过不影响对代码的理解:
1.实现自己的线程
/**
}
public String getSql() { return sql; }
public void setSql(String sql) { this.sql = sql; }
/**
/**
}
2.循环调用线程
String sql = "你的SQL语句";
//定义线程池 ExecutorService e = Executors.newCachedThreadPool();
List<Map<String, Object>> listMap = new LinkedList<Map<String, Object>>();
for(int i = 0 ; i < 6; i++) { String tempSql = "需要分线程执行的SQL语句"; Thread2CollectionRate tempTread = new Thread2CollectionRate(); //把需要装数据的Map放到线程中去 tempTread.setListMap(listMap); //把需要执行的SQL放到线程中去 tempTread.setSql(tempSQL); //执行线程 e.execute(tempTread);
}
//通知关闭线程池 e.shutdown(); //死循环等待线程池完全关闭,只有所有的线程全部执行完毕e.isTerminated()等于true
try { while(true) { if(e.isTerminated()) { //listMap中就是你所需要的全部数据 System.out.println("listMap.size() :" + listMap.size()); break; } //每次循环等待250毫秒 Thread.sleep(250); } } catch (InterruptedException e1) { e1.printStackTrace(); }
}
本站为非盈利网站,如果您喜欢这篇文章,欢迎支持我们继续运营!
本站主要用于日常笔记的记录和生活日志。本站不保证所有内容信息可靠!(大多数文章属于搬运!)如有版权问题,请联系我立即删除:“abcdsjx@126.com”。
QQ: 1164453243
邮箱: abcdsjx@126.com