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

五月色做受网站phpnow安装wordpress

五月色做受网站,phpnow安装wordpress,合作制作网站,贵州建设厅网站首页二级建造师成绩查询桌子上有面条-》吃货执行 桌子上没面条-》生产者制造执行 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/14485668/

相关文章:

  • 群晖 做网站服务器网站建设中文百
  • 公司增加英文网站要怎么做wordpress主题制作导航的n种方法
  • 有一个可以做任务的网站自动发卡网站建设
  • 中文购物网站模板大型网页设计
  • 有什么那个网站360网站排名优化
  • 网站搭建教程吾爱破解网站开发哪些专业
  • 郑州网站建站网站怎么样免费微信小程序官网
  • 网站建设技术哪个好潍坊专业网站建设最新报价
  • 网站备案省份微信小程序网站建设公司
  • 网站搭建接单做网站优化好的网络公司
  • 益阳seo网站建设南宁网站建设_seo优化服务公司
  • 高端品牌网站建设兴田德润实力强wordpress获取指定图片
  • 亚马逊官方网站的建设wordpress 管理界面
  • 苏网站建设黄冈网站制作
  • 企业网站建设 厦门网站锚文本与标签
  • 建个微网站多少钱陕西高速建设集团网站
  • 安宁网站建设 熊掌萧山网站制作公司
  • 电子商务网站建设asp sql 源码下载夜场酒吧娱乐ktv类企业网站源码
  • 室内设计公司企业简介长沙网站优化外包
  • 做网站常用的套件wordpress接入翼支付
  • 沧州建设网站公司wordpress主题 relax
  • 仿站工具下载后咋做网站ui软件哪个最好用
  • 网站建设及模板使用教程wordpress如何建站群
  • 如何建设一个简单的公司网站325建筑网站
  • 建设网站成本预算企业网站 三网系统
  • 东莞做外贸网站的公司昌平网站制作公司
  • 网页设计需要学什么软件网站seo外包价格
  • wordpress翻译教程影响关键词优化的因素
  • 网站开发者工具解读wordpress做社交网站吗
  • 网站建设与网页设计 视频教程创新产品设计方案