java多线程发送邮件问题
比如说我数据库中有10万条email数据,我想写个多线程的程序把他们发送出去
取数据库记录时候如何取呢?如果一次性取出都放到List里,然后放到个一个多线程的程序里去发送,我觉得list的数据会太多。
如:
ExecutorService exec = Exectors.newFixedThreadPool(10);
List <Email> list = 数据库中所有的记录;
foreach( Email s : list) {
exec.execute(new SendMail(s)); //发送邮件
}
class void SendMail extends Thread {
private Email email;
public SendMail(Email email) {
this.email = email;
}
//是否要同步
void run {
发送邮件。。。。。
TimeUnit.MILLISECONDS.sleep(20); //是否需要?
}
set....
get.....
}
这样就要一次性取出所有的记录,
可以不可以开10个线程,每个线程各子取1万条记录进行发送呢,就像5个搬运工同时干活一样?如何实现呢??
肯定不能一次性全部取出来了,可以用多线程一边取一边发,中间定义一个缓冲区,这就是一个生产者消费者的问题了。
一边取,一
相关问答:
当知道一个日期,如何把这个日期所在旬的前后两个日期取出
比如输入20090905,就输入20090901 20090910
输出20090901 20090910
取得天数后作一下判断再把这个方法用下void set(int field, int value)
......
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class QueryTest&n ......
工作需要 求大家帮忙写个程序
我是学C++的 不懂JAVA
编写一个Java应用程序,对于给定的一个字符串的集合,格式如:
{aaa bbb ccc}, {bbb ddd},{eee fff},{ggg},{ddd hhh}
要求将其中交集不为空的 ......
<?xml version="1.0" encoding="utf-8" ?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical&q ......
rt,我试了网上直连Acces数据库的方法,windows下没有问题,但是在linux下不行,谁能给点提示?谢谢
你怎么连的?
Acces数据库..
你怎么练的呢?
Java code:
static String DBDRIVER = "sun.jd ......