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

 我来答
im2ah
2016-08-20 · TA获得超过4.8万个赞
知道大有可为答主
回答量:1.8万
采纳率:96%
帮助的人:1072万
展开全部
ueue的作用很多,比如说解耦。
举个比较常见的例子:
某电商有交易和邮件两套系统,当一个交易完成时,给用户发一封确认邮件。这里
交易系统和邮件系统显然是两个优先级的东西,交易系统要求很高的实时性,而邮件系统则不必,为了合理利用服务器资源,应当把这两套系统分离,合理的做法
是,交易完成时,交易系统生成一个发邮件的任务,丢到queue中,而邮件系统监听在queue的另一端,用一个相对较低的速度处理queue中的发邮件
任务。
当然,这里的queue一般是mq或者activemq之类的产品。
blockingqueue的作用本质上和他们类似。比如我们写个静态网页的爬虫,为了尽可能的高效率,应当把网络io和网站内容分析解耦,让更多的线程去处理较慢的网络io,把获取到的内容丢到queue中,用较少的线程处理速度较快的网页内容分析。
至于为什么有arraylist还要用blockingqueue,这和有array了为什么还要有arraylist一样,为了方便呗,不信你自己用arraylist封装个能保证fifo,能保证线程安全的东西出来看下。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式