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

专做会议发布的网站优化大师有必要花钱吗

专做会议发布的网站,优化大师有必要花钱吗,邢台网站建设有哪些,社交网站开发客户桌子上有面条-》吃货执行 桌子上没面条-》生产者制造执行 1、消费者等待 消费者先抢到CPU执行权#xff0c;发现桌子上没有面条#xff0c;于是变成等待wait状态#xff0c;并释放CPU执行权#xff0c;此时的CPU肯定会被厨师抢到#xff0c;初始开始做面条#xff0c;… 桌子上有面条-》吃货执行 桌子上没面条-》生产者制造执行 1、消费者等待 消费者先抢到CPU执行权发现桌子上没有面条于是变成等待wait状态并释放CPU执行权此时的CPU肯定会被厨师抢到初始开始做面条当厨师做完后会对吃货进行提示notify唤醒吃货来吃。 2、生产者等待 厨师先抢到CUP执行权但是桌子上有面条就不能再制作面条只能等待消费者吃完面条才能做消费者吃完后需要唤醒厨师继续做 代码逻辑 厨师 public class Cook extends Thread{Overridepublic void run() {//1循环//2同步代码块//3共享数据是否到末尾Yes//4共享数据是否到末尾Nowhile (true){synchronized (Desk.lock){if (Desk.count0){break;//10碗吃完}else {//厨师的核心逻辑//01判断桌子上是否有食物if (Desk.foodflag1){//02有食物就等待try {Desk.lock.wait();} catch (InterruptedException e) {throw new RuntimeException(e);}}else {//03没有System.out.println(Thread.currentThread().getName()制作食物);//04改变桌子状态Desk.foodflag1;//05唤醒消费者吃Desk.lock.notifyAll();}}}}} } 吃货 public class Customer extends Thread{Overridepublic void run() {while (true){synchronized (Desk.lock){if (Desk.count0){break;//10碗吃完}else {//吃货的核心逻辑/** 1.判断桌子上有无面条* 2.没有自己等待* 3.有吃完并唤醒厨师做面条count--* 4.修改桌子状态*/if (Desk.foodflag0){//1.判断桌子上有无面条try {Desk.lock.wait();//2.没有自己等待} catch (InterruptedException e) {throw new RuntimeException(e);}}else {//3.有吃完并唤醒厨师做面条count--Desk.count--;System.out.println(Thread.currentThread().getName()还能再吃Desk.count碗);Desk.lock.notifyAll();//4.修改桌子状态Desk.foodflag0;}}}}} } 桌子 public class Desk {//通过变量来控制 0:没食物 1有食物public static int foodflag0;//总个数最多做十碗public static int count10;//锁对象public static Object locknew Object(); }//测试类 public class Test {public static void main(String[] args) {Customer customer new Customer();Cook cook new Cook();customer.setName(吃货);cook.setName(厨师);customer.start();cook.start();} } 3、阻塞队列实现 接口无法new对象只能通过两个实现类第一个可以自定义队列长度。 注意生产者与消费者必须针对同一个阻塞队列阻塞队列可以创建在测试类中 厨师 public class Cook extends Thread{ArrayBlockingQueueString queue;//创建构造函数创建对象的时候进行赋值指定同一个阻塞队列public Cook(ArrayBlockingQueueString queue) {this.queue queue;}Overridepublic void run() {while (true){try {queue.put(面条);System.out.println(厨师做了一碗面条);} catch (InterruptedException e) {throw new RuntimeException(e);}}} }消费者 public class Customer extends Thread{ArrayBlockingQueueString queue;public Customer(ArrayBlockingQueueString queue) {this.queue queue;}Overridepublic void run() {while (true){try {String foodqueue.take();//tack底层也进行了加锁不需要我们自己定义System.out.println(获取食物food);} catch (InterruptedException e) {throw new RuntimeException(e);}}} }测试类 public class Test {public static void main(String[] args) {ArrayBlockingQueueString queuenew ArrayBlockingQueue(1);Customer customer new Customer(queue);Cook cook new Cook(queue);customer.setName(吃货);cook.setName(厨师);customer.start();cook.start();} }
http://www.hkea.cn/news/14503563/

相关文章:

  • 做loge的网站杭州免费网站建设
  • 以网站建设为开题报告网站建设前的需求分析
  • 免费发布产品信息网站给网站划分栏目
  • 网站管理的主要内容河南公司网站制作咨询
  • 免费微网站平台那个好flask 网站开发
  • 发软文提高网站权重电脑上重新下载一个wordpress
  • 简单的cms建站系统ih5制作平台官网
  • 国内优秀网站案例python网站开发 pdf
  • 核工业西南建设集团有限公司网站网页设计心得体会600字
  • 网站后台如何管理顺的网站建设精英
  • 网站设计优点软件开发工具免费下载
  • wap手机网站静态模板哪个网站可以接活做
  • 揭阳企业建站服务公司网站建设客户常见问题集锦
  • 网站建设一般花多少费用中国建设银行下载官方网站
  • 大宗商品价格查询网站济宁建设网站首页
  • 搜寻的网站有哪些头像模板在线制作软件
  • 中企动力做网站价格彩票网站怎么建设
  • 南沙区做网站公司网站标签优化
  • 上门做指甲哪个网站做网站挣钱的人
  • 泰坦科技网站建设有私人做网站的吗
  • wordpress全站固定链接网站建设标志头像图片
  • 企业移动网站建设商做影评的网站模版
  • 导购 网站模板会员管理网站建设
  • 做自己的网站好还是博客好wordpress 知道创宇
  • wordpress 用户名湖南seo优化推荐
  • 福建省网站建设方案书wordpress评论开启
  • 返利网站建设wordpress小说站
  • 什么网站可以做线上小游戏重庆观音桥好吃街
  • led灯 东莞网站建设wordpress后台加统计代码
  • 中国建设银行培训网站php网站开发防注入