amp@java

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  99 随笔 :: 0 文章 :: 228 评论 :: 0 Trackbacks
改了一下实现,采用“生产者-消费者”模式。每个串口一个线程,读取BlockingQueue里的待发信息,作为消费者,发送完毕后把发送结果写到另外一个BlockingQueue里;查询线程定时查询数据库,获得待发信息并加入到BlockingQueue里;结果更新线程读取BlockingQueue里的短信发送结果,更新到数据库里,并把结果发送到客户端。
这样会带来一个问题,发送线程发送短信需要一定的时间,可能某条待发信息已经在队列里了,但查询线程并不知道,继续把该信息入列,所以发送线程在发送某条短信前要检查数据库,看是否已经发送过,如果发送过,则不再发送。
posted on 2006-10-25 17:34 amp@java 阅读(768) 评论(0)  编辑  收藏 所属分类: Java common

只有注册用户登录后才能发表评论。


网站导航: