Y19920229
2017-02-27 16:10
采纳率: 22.2%
浏览 1.3k
已采纳

系统短信发送为什么要使用线程?

前几天开发审批单据通过后发送短信功能,我做二次开发,根据系统原有代码进行增加功能操作,我观察之前的代码是创建了线程,但是不清楚为什么创建线程,且线程内使用了jdbc连接数据库的方式,上网上查这种方式好像是数据库连接池,所以我想问,为什么发送短信要使用线程,且线程中为什么创建数据库连接池?还请帮忙解答。

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • shen931205 2017-02-28 00:57
    已采纳

    1.短信这种功能最好是异步的,因为你发的快一点慢一点,用户是无感知的。不新开线程出来,就需要一直等待短信发完才能执行后续代码。
    2.数据库连接池就是方便管理数据库的。如果每开一个线程就创建一个数据库连接的话,很容易把数据库连接占满出现too many connections问题的。

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • threenewbee 2017-02-27 16:16

    因为发送短信需要等待服务器返回,整个过程环节多,延迟比较大(秒级别),如果不用线程,那么等于整个服务器所有的资源全部歇着,等短信调用,效率非常低。如果要发100个,每个2秒,就得200秒。
    好的做法是异步放在线程执行,主程序继续做别的,这样可以提高吞吐率,如果开多个线程,相同的时间可以发成千上万的短信。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题