TA贡献1812条经验 获得超5个赞
将所有记录放到 ConcurrentLinkedQueue 中,然后使用多个线程(使用线程池)共享这个 ConcurrentLinkedQueue,每个线程每次从 ConcurrentLinkedQueue 中取出一条记录并发送邮件,直到队列为空 (即 isEmpty() 返回 true)
TA贡献1799条经验 获得超6个赞
我不太明白你的问题,看这个描述,直接开始n个并发的任务就可以了,如果你要发完了做点事情,jdk提供的倒计时器或者栅栏都支持。还是你考虑的jvm的内存占用,同时1000000万条会搞掉你的内存堆。
大厂算法面试真题解析32讲
¥ 68.00
32 堂微服务架构设计与落地精讲课
¥ 78.00
Java 并发编程深度解析
¥ 58.00
网络编程之Netty一站式精讲
再学经典:《Effective Java》独家解析
举报