陌.墨 2019-09-07 12:37 采纳率: 0%
浏览 468

多线程批量读取邮件信息

现在我数据库里有一张邮箱表和邮件信息表,要做的是从邮箱表里拿到用户的用户名和密码,但里面有1000个甚至更多的邮箱,要把每个邮箱的邮件收取至本地保存到邮箱信息表,用多线程来实现,但程序必须限制每次最多开启10个线程。
收邮件的过程是一样的,但各个邮箱的参数肯定不同。另外,各个邮箱收取所花费的时间也肯定不同。
我想在这里面用队列的方式应该能实现,但我不会,各位能帮忙贴个代码吗

  • 写回答

1条回答 默认 最新

  • mingshu 2019-09-07 12:53
    关注

    现成的代码是没有的。框架思路如下:
    1、选一个MQ中间件,如ActiveMQ部署起来。
    2、MQ里面有queue点对点消息、topic广播消息两类,消息生产者和消费者两个角色,你的业务场景选queue类型。建N个queue队列。
    3、以JAVA代码为例,用Spring quarz框架做一个后台进程,作为消息生产者producer,定时去读邮箱和邮件信息,一个queue消息含(邮箱、邮件内容对象),分配放入queue1...queueN中。
    4、用Spring quarz框架做一个后台邮件发送进程,作为消息消费者consumer,分别多线程读取queue1...queueN中的队列信息,然后根据queue消息的邮箱和邮件内容发邮件。
    以上步骤,教程百度一下就有了,很简单。分别百度ActvieMQ部署教程、Spring quarz教程。
    Spring quarz教程见下。
    https://www.cnblogs.com/shizhijie/p/8243934.html

    评论

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集