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

新手上路,请多包涵

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

阅读 3.3k
2 个回答

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题