队列 多线程 处理 这样是对的吗?

大麦.sh 发布于 2014/10/30 17:11
阅读 539
收藏 1

比如我发出一封邮件的耗时为0.1秒 

而我现在有100000封邮件要发送

那么我是不是可以把这十万封邮件的 地址 内容写到队列?比如 推送到ActiveMQ

???MQ是干这个用的吧 ??? 

然后我要写一个后台守护进程 轮回查询最新的队列信息,一一处理掉,这样是对的吗?

如果是这样 那我后台守护进程 是不是应该启用多线程处理?

加载中
0
Tocy
Tocy
可以整个线程池,或者考虑使用完成端口。
0
ksfzhaohui
ksfzhaohui
生产消费者模式,使用queue还是挺方便的,将从queue里面取出的值,交给一个线程池处理(Executors.newXXX())
0
大麦.sh
大麦.sh
为啥没一个人回答我的问题?兄弟们?
0
铂金小虫
铂金小虫

如果是单台服务器的话,和上面所说的,你用一个线程轮训带发送数据(比如一次查100条),然后放到一个队列里,然后再用一个消费线程从队列里取出一个邮件,然后从一个线程池里拿出一个线程执行。

如果要多台服务器同时操作的话,用这种jms比较好。

0
mengjunxiaoxiang
mengjunxiaoxiang

方法1:只需要放入队列,再将队列配置一个监听器,监听本身就可能配置多个线程去处理。

方法2:不需要用队列,把这100000封邮件给一个线程池,由这个线程池去做发送邮件的事情即可。

0
大麦.sh
大麦.sh

很遗憾 我们是php 请问有用php开发过类似场景的吗?


返回顶部
顶部