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

多线程批量读取邮件信息

现在我数据库里有一张邮箱表和邮件信息表,要做的是从邮箱表里拿到用户的用户名和密码,但里面有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

    评论

报告相同问题?

悬赏问题

  • ¥15 Workbench中材料库无法更新,如何解决?
  • ¥20 如何推断此服务器配置
  • ¥15 关于github的项目怎么在pycharm上面运行
  • ¥15 内存地址视频流转RTMP
  • ¥100 有偿,谁有移远的EC200S固件和最新的Qflsh工具。
  • ¥15 有没有整苹果智能分拣线上图像数据
  • ¥20 有没有人会这个东西的
  • ¥15 cfx考虑调整“enforce system memory limit”参数的设置
  • ¥30 航迹分离,航迹增强,误差分析
  • ¥15 Chrome Manifest扩展引用Ajax-hook库拦截请求失败