永发信息网

BlockingQueue和List 有什么区别,BlockingQueue用在什么场景下

答案:2  悬赏:80  手机版
解决时间 2021-02-23 15:15
  • 提问者网友:人生佛魔见
  • 2021-02-23 06:19
BlockingQueue和List 有什么区别,BlockingQueue用在什么场景下
最佳答案
  • 五星知识达人网友:山河有幸埋战骨
  • 2021-02-23 07:32
ueue的作用很多,比如说解耦。
举个比较常见的例子:
某电商有交易和邮件两套系统,当一个交易完成时,给用户发一封确认邮件。这里
交易系统和邮件系统显然是两个优先级的东西,交易系统要求很高的实时性,而邮件系统则不必,为了合理利用服务器资源,应当把这两套系统分离,合理的做法
是,交易完成时,交易系统生成一个发邮件的任务,丢到queue中,而邮件系统监听在queue的另一端,用一个相对较低的速度处理queue中的发邮件
任务。
当然,这里的queue一般是mq或者activemq之类的产品。
blockingqueue的作用本质上和他们类似。比如我们写个静态网页的爬虫,为了尽可能的高效率,应当把网络io和网站内容分析解耦,让更多的线程去处理较慢的网络io,把获取到的内容丢到queue中,用较少的线程处理速度较快的网页内容分析。
至于为什么有arraylist还要用blockingqueue,这和有array了为什么还要有arraylist一样,为了方便呗,不信你自己用arraylist封装个能保证fifo,能保证线程安全的东西出来看下。
全部回答
  • 1楼网友:几近狂妄
  • 2021-02-23 08:36
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯