如何快速的处理完100000条记录的队列

新手上路,请多包涵

比如现在用户表有100000条记录,现在要向这些用户发送邮件,如何快速的使其发送完成.

阅读 3.4k
2 个回答

将所有记录放到 ConcurrentLinkedQueue 中,然后使用多个线程(使用线程池)共享这个 ConcurrentLinkedQueue,每个线程每次从 ConcurrentLinkedQueue 中取出一条记录并发送邮件,直到队列为空 (即 isEmpty() 返回 true)

我不太明白你的问题,看这个描述,直接开始n个并发的任务就可以了,如果你要发完了做点事情,jdk提供的倒计时器或者栅栏都支持。
还是你考虑的jvm的内存占用,同时1000000万条会搞掉你的内存堆。

推荐问题