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

机械行业做网站百度手机下载安装

机械行业做网站,百度手机下载安装,汉中网站建设开发,百度搜索引擎优化的推广计划阿华代码#xff0c;不是逆风#xff0c;就是我疯#xff0c;你们的点赞收藏是我前进最大的动力#xff01;#xff01;希望本文内容能够帮助到你#xff01; 目录 一#xff1a;阻塞队列 1#xff1a;概念 2#xff1a;阻塞队列与普通队列比较 二#xff1a;“生…阿华代码不是逆风就是我疯你们的点赞收藏是我前进最大的动力希望本文内容能够帮助到你 目录 一阻塞队列 1概念 2阻塞队列与普通队列比较 二“生产者消费者模型”——包饺子 1包饺子流程 2分工协作 1解释 2问题 三“生产者消费者模型”——分布式系统 1分布式模型 2队列阻塞优化 3缺点 4优点 ①解耦合 ②缓冲压力削峰填谷 四自己实现一个阻塞队列  前引库中自带阻塞队列的数据结构 ​编辑 1自己实现的一个队列 2线程安全问题 1问题一 2阻塞队列部分怎么写 ①用wait ②唤醒问题 ③解决方法 一阻塞队列 1概念 对于一个满的队列入队操作就会陷入阻塞直到这个队列有元素出队后才可以往队列里面加入元素。 对于一个空的队列出队操作就会陷入阻塞直到这个队列有元素入队后才可以对队列进行出队操作 2阻塞队列与普通队列比较 阻塞队列在多线程中是比价安全的 二“生产者消费者模型”——包饺子 1包饺子流程 ①和面一般一个人即可不适用于多线程 ②撵饺子皮 ③包饺子 上述②③可以多线程进行 假设现在有三个滑稽老铁包饺子 假设每个滑稽老铁拿到擀面杖擀了一个皮包了一个饺子在这个过程中滑稽老铁会争夺擀面杖锁竞争虽然比单线程快但是效率还是很低 2分工协作 1解释 上述图一号老铁负责专门撵饺子皮生产2,3号负责包饺子桌子阻塞队列负责传递饺子皮大大提高了包饺子的效率。 2问题 ①1号滑稽撵饺子皮的速度远远大于包饺子的速度导致桌子上全是饺子皮此时桌子就相当于队列阻塞 ②1号滑稽撵饺子皮的速度远远小于包饺子的速度导致桌子上是空的2号3号空闲此时桌子就相当于队列空 三“生产者消费者模型”——分布式系统 1分布式模型 通过上面的简述我们来看实际开发中是怎样的模型 实际开发过程中服务器的整个功能往往是由多个服务器分工它们彼此间通过网络通信进行交互。 2队列阻塞优化 但在上述图中A与BA与C之间的耦合性比较强有一个挂了很可能就会影响到其它的服务器于是我们引入队列阻塞 A和BCD之间不是直接交互了而是通过队列这个中间桥梁进行交互如果B挂了也不会影响到ACD 3缺点 ①系统更复杂了要维护的服务器变多 ②效率降低有阻塞队列这个中间商必然会增加开销了 4优点 ①解耦合 ②缓冲压力削峰填谷 四自己实现一个阻塞队列  前引库中自带阻塞队列的数据结构 在Java标准库中提供了三种现成的带有阻塞队列的数据结构 其中它们的入队列有两种方法put自带阻塞效果offer不带有阻塞效果 下面我们举例一种 ArrayBlockingQueue queue2 new ArrayBlockingQueue(100);try {queue2.put(put方法不带阻塞功能);} catch (InterruptedException e) {throw new RuntimeException(e);}queue2.offer(offer方法带有阻塞功能);try {System.out.println(queue2.take());System.out.println(queue2.take());} catch (InterruptedException e) {throw new RuntimeException(e);} 1自己实现的一个队列 package thread;/*** Created with IntelliJ IDEA.* Description:* User: Hua YY* Date: 2024-09-25* Time: 17:47*/ class MyQueue{String[] elems null;int head 0;//记录出元素时int tail 0;//记录进元素时int size 0;//当前队列中有多少个元素public MyQueue(int capacity){elems new String[capacity];}public void put(String elem){if (size elems.length ){//此时队列满了放不了要在这写阻塞return;}elems[tail] elem;tail;if(tail elems.length){tail 0;}size;}public String take(){if(size 0){return null;}String elem elems[head];head;if (head elems.length){head 0;}size--;return elem;}} public class ThreadDemon31 {public static void main(String[] args) {MyQueue queue new MyQueue(100);queue.put(aaa);queue.put(bbb);queue.put(ccc);queue.put(ddd);System.out.println(开始出队列);System.out.println(queue.take());System.out.println(queue.take());System.out.println(queue.take());System.out.println(queue.take());} }2线程安全问题 1问题一 ①打包成这样可以吗——不行size最后会被写两遍 ②解决方式给整个put方法内部都加上synchronized 2阻塞队列部分怎么写 ①用wait ②唤醒问题 可以看到上述图例假设现在队列满两个put都阻塞take出了 一个元素唤醒了第一个put第一个put又唤醒了第二个put这就出问题了 ③解决方法 详细看明白上面举的例子后继续~~ 我们知道对于wait等待和notify唤醒中间隔着的几秒对于计算机来说可能就会发生翻天覆地的变化。这个if条件句就是被唤醒后其实现状不一定像一开始满足这个if条件句了 于是我们引入替换成——while语句句内的wait被唤醒后会再一次进行条件判断如果此时条件不满足会再一次的陷入wait等待。 在java编译器中也是推荐wait和while循环配套使用。
http://www.hkea.cn/news/14542075/

相关文章:

  • 王色网站哈尔滨网页制作费用
  • 品牌商标购买网站网站ui设计给用户提交什么
  • 那些知名网站是外包做的欧美网站建设教程
  • 谷歌seo网站建设手机网站静态模板下载
  • 中国制造网外贸网站地方网站盈利模式
  • 购物小网站建设官方网站搭建要多少钱
  • 运动服饰网站建设需求分析wordpress下载模板
  • 绍兴网站建设公司哪家专业wordpress换域名代码
  • 第一次做网站选多大空间简历制作官网
  • 中国免费域名申请网站wordpress 新浪微博登入
  • 哪些网站可以做调查问卷计算机网站建设招聘
  • 十大网站app排行榜wordpress如何删除你好和设置菜单
  • 临沂在线做网站钦州房产网站建设
  • 网站设计主要包含3个方面化州网站建设公司
  • 桂林论坛网站有哪些未来前景比较好的行业有哪些
  • 网站管理系统安装app要有网站做基础知识
  • 最低的成本做网站河北建设工程有限公司
  • 平谷建站推广公司怎么做网站推广
  • 思途旅游网站建设系统wordpress 输入ftp
  • 单位门户网站建设方案如何做网站页面赚钱
  • 网站开发建设合同书typo wordpress theme
  • 网站域名备案服务电商平台营销策划方案
  • 小型企业网站的设计与实现搜索推广网站哪家做的最好
  • 做网站有陪标现象吗网络营销方案分析整理
  • 珠海市网站建设哪家好wordpress ico更改
  • asp做网站步骤微信电脑版官方下载
  • 福州网站建设印秀建设银行面试通知网站
  • 扬州润扬交通建设集团网站机械网站建设营销
  • 婚纱网站建设需求分析网站(网店)建设方案范文
  • 用外服务器做网站网络公司经营范围写电子商务