多线程Java Executor服务实现帮助
在下面的代码中,userList
会获取大量数据,这是因为发送电子邮件花费的时间太长
如何提高应用程序的速度,使50000封电子邮件发送速度更快?也许是用ExecutorService
List<String[]> userList = new ArrayList<String[]>();
void getRecords() {
String [] props=null;
while (rs.next()) {
props = new String[2];
props[0] = rs.getString("useremail");
props[1] = rs.getString("active");
userList.add(props);
if (userList.size()>0) sendEmail();
}
void sendEmail() {
String [] user=null;
for (int k=0; k<userList.size(); k++) {
user = userList.get(k);
userEmail = user[0];
//send email code
}
}
# 1 楼答案
尝试以以下方式并行化代码:
另外,请注意,如果您不想头痛,方法
sendMailTo
必须是无状态的