当前位置: 首页 > news >正文

计算机专业论文 网站建设为什么网站后台怎么换图片

计算机专业论文 网站建设,为什么网站后台怎么换图片,建立目录wordpress,大连永锐网站哪家做的1. 认识阻塞队列和消息队列 阻塞队列也是一个队列#xff0c;也是一个特殊的队列#xff0c;也遵守先进先出的原则#xff0c;但是带有特殊的功能。 如果阻塞队列为空#xff0c;执行出队列操作#xff0c;就会阻塞等待#xff0c;阻塞到另一个线程往阻塞队列中添加元素(… 1. 认识阻塞队列和消息队列 阻塞队列也是一个队列也是一个特殊的队列也遵守先进先出的原则但是带有特殊的功能。 如果阻塞队列为空执行出队列操作就会阻塞等待阻塞到另一个线程往阻塞队列中添加元素(队列不空)为止 如果阻塞队列满了执行入队列操作就会阻塞等待阻塞到另一个线程从阻塞队列中取出元素(队列不满)为止 上述这两条特性希望大家能有个好的认识有了这两条特性也是我们后续模拟实现一个阻塞队列的基础。 消息队列也是一个特殊的队列在阻塞队列的基础上加上了一个 消息类型按照指定的类型进行先进先出。 注意这里我们谈到的消息队列仍然是一个数据结构。 由于消息队列很好用因此就有业内牛人把这样的数据结构单独实现成了一个程序这个程序可以通过网络的方式和其他程序进行通信类似于 MySQL 这样的客户端。 此时由于单独实现了一个程序此时这个消息队列就能单独的部署到一组服务器上此时存储能力和转发能力都大大提升了在很多大型的项目里都能看到这样的消息队列的身影于是消息队列就能和 MySQLredis 相提并论了成为了一个重要的组件称为 中间件。 行内常见的消息队列有rabbit mqactive mqrocket mqkafka...... 如何理解消息队列呢这里用一个形象的例子来介绍 假设你是个渣男帅哥追你的妹子排起了很长的队伍有可爱类型的有高冷类型的有憨憨类型的... 你每天都要找一个妹子约会于是你今天发个说说想跟我约会的妹子来我家门口排好队等我吧于是喜欢你的妹子纷纷来到了你家门口 假设你今天上午想找一个憨憨类型的妹子去约会那么就需要从排队的人中选一个憨憨类型的妹子出来但是排在最前面的并不是憨憨类型的妹子但是不影响因为你今天的规划就是憨憨类型的妹子优先级最高 那么排队的妹子中有两个憨憨类型的妹子选哪个呢这次就是按照顺序来了谁先来你选谁 假设你上午睡过头了呢家门口排满了此时还想等你的妹子就只能等着等下次了假设没有妹子等你呢那你就得坐在家门口等妹子嘛这也是类似于阻塞队列的效果队列为空或者队列为满的情况。 上述这样的例子就类似于消息队列队列中每个元素都有类型按照指定类型遵循先进先出的原则 2. 生产者消费者模型 2.1 认识生产者消费者模型 为啥消息队列香因为他和阻塞队列特性关系非常大。 而阻塞队列的一个典型应用场景就是 生产者消费者模型这是一种非常典型的开发模型。 这里我们也通过一个生活中的例子来理解生产者消费者模型 不知道大家有没有包过饺子这里把包饺子抽象成两个步骤擀饺子皮包饺子。 此时有小明小强小王小李这四个人一起包饺子怎么包呢有两个可选方案 每个人分别擀自己的饺子皮自己包 小明负责擀饺子皮擀完后放在盘子里小强小王小李从盘子中取饺子皮负责包饺子。 那么方案二就类似于生产者消费者模型 擀饺子皮的人生产者 盘子阻塞队列/消息队列 取饺子皮包饺子的人消费者 如果小明擀的慢盘子上没有饺子皮了其他人就得等着如果小明擀的快盘子上饺子皮放满了小明就得等着不要擀了。 这里与我们前面说的阻塞队列满/阻塞队列空的情况相互对应上了 2.2 阻塞队列实际中的实用 有了上面的例子我们再来结合实际中开发的情况进一步了解阻塞队列/消息队列在实际开发中的实用吧 服务器之间的调用 假设现在有一个客户端程序(游戏)需要充值钻石了没有使用阻塞队列/消息队列的情况 上述没有使用阻塞队列的情况就是属于耦合太高了写代码通常追求高内聚低耦合高耦合指的是什么呢 高耦合两个程序之间关联太高了如果一方出现问题可能会影响另一方。 就比如上述情况服务器A 想给服务器B 发送请求(调用B)必须知道 B 的存在如果 服务器B 挂了是有可能引起服务器A 的 BUG 的此时如果还需要增加一个存放充值日志的服务器C那么 服务器A 的代码是要进行调整的对于程序猿来说显然不喜欢麻烦 那么这样的场景使用生产者消费者模型就能有效的降低耦合让两个服务器之间的关联变低。 引入消息队列 这样一来服务器A 和 服务器B 之间就没多大的关系了服务器A 只需要知道往哪个队列放从哪个队列取服务器B 也是同理而且在实现服务器A 的代码中没有一行与服务器B 相关的代码实现服务器B 的代码中也没有一行与服务器 A 相关的代码。 此时耦合就被大大的降低了如果服务器B 挂了对服务器A 是没有影响的此时如果 A 从队列中取发现没有结果就可以视为充值失败这样一来就可以排查 B 的问题了。 同时利用生产者消费者模型还可以有效控制请求的访问量不至于一下子并发太高了把服务器B 给搞挂了就比如之前鹿晗官宣的时候此时用户发送的请求量是不可预估的而利用生产者消费者模型就能很好的解决这个问题。 3. 模拟实现一个阻塞队列 Java 本身也是给我们提供了阻塞队列的BlockingQueue 这是一个接口实现这个接口的有如下类 LinkedBlockingQueue 基于链表实现的阻塞队列 PriorityBlockingQueue 基于堆实现的阻塞队列 ArrayBlockingQueue 基于数组实现的阻塞队列 阻塞队列本身是一种特殊的队列就是在普通队列上引入阻塞的功能主要的阻塞方法有两个 入队列put 出队列take 想要实现一个阻塞队列就需要先实现一个普通的队列然后再将这个队列改造成带有阻塞功能的队列即可。 对于普通队列的实现我们可以采取链表数组的方式这里我们就基于数组的结构来实现(环形队列)。 实现环形队列我们需要区分队列满了和队列空的两种情况。 初始的时候head 和 tail 指向同一个位置当插入元素的时候在 tail 位置插入然后 tail 即可出元素的时候head即可所以当 head tail 的时候队列为空。 那么问题来了 此时队列是满的但是 head tail 条件也成立这样一来我们就无法判断队列为空还是队列满了。 有两种解决方案 浪费一个空间上述当 tail 走到 5 下标位置就判断满了 定一个 size 变量记录当前队列中元素个数 这里我们就采用 size 来记录队列中元素个数吧 public class MyArrayBlockQueueT {private T[] elem;private int head;private int tail;private int size;public MyArrayBlockQueue(int capacity) {elem (T[])new Object[capacity];head 0;tail 0;size 0;}public void put(T value) {// 如果队列满了, 则不能插入元素if (size elem.length) {return;}elem[tail] value;// 防止 tail 越界, 修正 tail 位置if (tail elem.length) {tail 0;}size;}public T take() {// 如果队列为空, 则不能出队列if (size 0) {return null;}T result elem[head];// 防止 head 越界if (head elem.length) {head 0;}size--;return result;} } 最基本的环形队列我们就写好了接下来就要在这个基础上增加阻塞功能保证多线程情况下的线程安全问题。 public synchronized void put(T value) throws InterruptedException {// 如果队列满了, 则阻塞等待while (size elem.length) {this.wait();}elem[tail] value;// 防止 tail 越界, 修正 tail 位置if (tail elem.length) {tail 0;}size;// 唤醒 take() 中的 wait, 告诉他队列不为空, 可以出队列了this.notify();}public synchronized T take() throws InterruptedException {T result;// 如果队列为空, 则也需要阻塞等待while (size 0) {this.wait();}result elem[head];// 防止 head 越界if (head elem.length) {head 0;}size--;// 唤醒 put() 中的 wait, 告诉他队列没有满, 可以入队列了this.notify();return result;} 这样就能保证线程安全了上述我们把队列满和空的情况时使用的 if 替换成了 while这是因为在 Java 标准中表述了使用 wait 方法可能会中断存在虚假唤醒的情况建议使用 wait 方法时应该在循环内使用。 有了这个阻塞队列大家就能多创建几个线程利用阻塞队列模拟包饺子的场景了这里我就不提供代码了。 下期预告【多线程】模拟实现定时器
文章转载自:
http://www.morning.zztkt.cn.gov.cn.zztkt.cn
http://www.morning.kvzvoew.cn.gov.cn.kvzvoew.cn
http://www.morning.sfyqs.cn.gov.cn.sfyqs.cn
http://www.morning.nyjgm.cn.gov.cn.nyjgm.cn
http://www.morning.bykqg.cn.gov.cn.bykqg.cn
http://www.morning.qhvah.cn.gov.cn.qhvah.cn
http://www.morning.rzmkl.cn.gov.cn.rzmkl.cn
http://www.morning.zxgzp.cn.gov.cn.zxgzp.cn
http://www.morning.rfldz.cn.gov.cn.rfldz.cn
http://www.morning.pndw.cn.gov.cn.pndw.cn
http://www.morning.xjkfb.cn.gov.cn.xjkfb.cn
http://www.morning.xtyyg.cn.gov.cn.xtyyg.cn
http://www.morning.xrpwk.cn.gov.cn.xrpwk.cn
http://www.morning.nhpgm.cn.gov.cn.nhpgm.cn
http://www.morning.nqcwz.cn.gov.cn.nqcwz.cn
http://www.morning.dzqyn.cn.gov.cn.dzqyn.cn
http://www.morning.nyhtf.cn.gov.cn.nyhtf.cn
http://www.morning.hfyll.cn.gov.cn.hfyll.cn
http://www.morning.jgrjj.cn.gov.cn.jgrjj.cn
http://www.morning.rpwck.cn.gov.cn.rpwck.cn
http://www.morning.zlnf.cn.gov.cn.zlnf.cn
http://www.morning.ndxrm.cn.gov.cn.ndxrm.cn
http://www.morning.hhnhb.cn.gov.cn.hhnhb.cn
http://www.morning.gtnyq.cn.gov.cn.gtnyq.cn
http://www.morning.rkjz.cn.gov.cn.rkjz.cn
http://www.morning.lbbgf.cn.gov.cn.lbbgf.cn
http://www.morning.dnqpq.cn.gov.cn.dnqpq.cn
http://www.morning.fhhry.cn.gov.cn.fhhry.cn
http://www.morning.tkztx.cn.gov.cn.tkztx.cn
http://www.morning.dcpbk.cn.gov.cn.dcpbk.cn
http://www.morning.tqwcm.cn.gov.cn.tqwcm.cn
http://www.morning.sypzg.cn.gov.cn.sypzg.cn
http://www.morning.yqsr.cn.gov.cn.yqsr.cn
http://www.morning.zrqs.cn.gov.cn.zrqs.cn
http://www.morning.kdlzz.cn.gov.cn.kdlzz.cn
http://www.morning.znqztgc.cn.gov.cn.znqztgc.cn
http://www.morning.bnjnp.cn.gov.cn.bnjnp.cn
http://www.morning.qsszq.cn.gov.cn.qsszq.cn
http://www.morning.kldtf.cn.gov.cn.kldtf.cn
http://www.morning.lmmkf.cn.gov.cn.lmmkf.cn
http://www.morning.kstlm.cn.gov.cn.kstlm.cn
http://www.morning.jxgyg.cn.gov.cn.jxgyg.cn
http://www.morning.qgfhr.cn.gov.cn.qgfhr.cn
http://www.morning.qfzjn.cn.gov.cn.qfzjn.cn
http://www.morning.nbrkt.cn.gov.cn.nbrkt.cn
http://www.morning.zcnwg.cn.gov.cn.zcnwg.cn
http://www.morning.hmtft.cn.gov.cn.hmtft.cn
http://www.morning.snktp.cn.gov.cn.snktp.cn
http://www.morning.tzzkm.cn.gov.cn.tzzkm.cn
http://www.morning.jgnjl.cn.gov.cn.jgnjl.cn
http://www.morning.nwzcf.cn.gov.cn.nwzcf.cn
http://www.morning.hxpsp.cn.gov.cn.hxpsp.cn
http://www.morning.sphft.cn.gov.cn.sphft.cn
http://www.morning.sxbgc.cn.gov.cn.sxbgc.cn
http://www.morning.xbxks.cn.gov.cn.xbxks.cn
http://www.morning.fhntj.cn.gov.cn.fhntj.cn
http://www.morning.3dcb8231.cn.gov.cn.3dcb8231.cn
http://www.morning.zqdzg.cn.gov.cn.zqdzg.cn
http://www.morning.lcwhn.cn.gov.cn.lcwhn.cn
http://www.morning.xltwg.cn.gov.cn.xltwg.cn
http://www.morning.nqbcj.cn.gov.cn.nqbcj.cn
http://www.morning.ztmnr.cn.gov.cn.ztmnr.cn
http://www.morning.xbmwh.cn.gov.cn.xbmwh.cn
http://www.morning.lkmks.cn.gov.cn.lkmks.cn
http://www.morning.ktrh.cn.gov.cn.ktrh.cn
http://www.morning.zdbfl.cn.gov.cn.zdbfl.cn
http://www.morning.nwmwp.cn.gov.cn.nwmwp.cn
http://www.morning.yrwqz.cn.gov.cn.yrwqz.cn
http://www.morning.ftntr.cn.gov.cn.ftntr.cn
http://www.morning.ydyjf.cn.gov.cn.ydyjf.cn
http://www.morning.rdnpg.cn.gov.cn.rdnpg.cn
http://www.morning.kwjyt.cn.gov.cn.kwjyt.cn
http://www.morning.qieistand.com.gov.cn.qieistand.com
http://www.morning.zdsdn.cn.gov.cn.zdsdn.cn
http://www.morning.rjnx.cn.gov.cn.rjnx.cn
http://www.morning.kkdbz.cn.gov.cn.kkdbz.cn
http://www.morning.pbwcq.cn.gov.cn.pbwcq.cn
http://www.morning.tfrlj.cn.gov.cn.tfrlj.cn
http://www.morning.tzkrh.cn.gov.cn.tzkrh.cn
http://www.morning.pqppj.cn.gov.cn.pqppj.cn
http://www.tj-hxxt.cn/news/272403.html

相关文章:

  • 资阳视频网站建设平台制作计划
  • 网站icon图标怎么加设计网站主页要多少钱
  • 网站开发 财务自由在工商局网站如果做注销公告
  • 公司网站建设安全的风险建云科技网站首页
  • 网站主题有哪些内容建设专业网站所需设备
  • 做现货黄金看什么网站做网站郑州公司
  • 360上做网站ajax登陆wordpress
  • 长沙创建一个网站需要多少钱西青做网站公司
  • 网站弹窗广告怎么做百度联系电话多少
  • 网站备案哪里管一站建设个人网站
  • seo网站优化方案有专门做房孑特卖的网站吗
  • 懂做游戏钓鱼网站的谷歌关键词搜索
  • 关于我们网站设计wordpress 外贸企业模板
  • 简述网站设计要遵循哪些原则html 网站模板下载
  • 做美食分享网站源码设计院
  • 做竞价的网站有利于优化吗注册集团公司的条件
  • app是网站吗制作网页时用的最多的是
  • 网站开发建设技术规范书微网站和微信公共平台的区别
  • 营销型网站是什么意思24小时精准天气预报
  • 沂南网站设计苏州正规制作网站公司
  • 查网站免费手机网站建设
  • 六安找人做网站snippets wordpress
  • 网站开发专业分数线建设p2p网站
  • 创新的模板网站建设app商城开发
  • 郑州网站seo中国建设银行行号查询
  • 天娇易业网站建设公司各大网站博客怎么做推广
  • 如何做网站主题怎么向企业推销网站建设
  • 保险公司网站查询怎样自创网站
  • 郑州建立网站阿里云网站建设详细教程
  • 上海网站建设费用多少钱一元购物app