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

纯html网站模板视频网站建设费用明细

纯html网站模板,视频网站建设费用明细,mysol做的选课网站,html个人网站设计模板桌子上有面条-》吃货执行 桌子上没面条-》生产者制造执行 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.w-s-a.com/news/788282/

相关文章:

  • 鳌江哪里有做网站百度短链接在线生成
  • 有没有什么做水利资料的网站杭州建设信用平台
  • 电子商务网站建设及推广方案论文wordpress无法显示文章
  • 建设工程监理网站前端和后端分别需要学什么
  • 公司网站制作效果国内最好的在线网站建设
  • 徐州好点的做网站的公司有哪些wordpress 工具插件下载
  • 如何用云服务器建设网站微网站免费开发平台
  • 官网的网站设计公司做网站需要准备哪些东西
  • 程序员和做网站那个好找工作wordpress二维码 插件
  • 湖南城市建设技术学院官方网站青海省建设局网站
  • 响应式网站有什么区别百度网站官网
  • 金华企业自助建站系统长沙建站公司模板
  • 云主机 做网站友情链接网站
  • 定制型网站设计天津网站模板建站
  • 为什么公司网站打开很慢wordpress汉化插件
  • 用dw做教学网站做网站用什么配置笔记本
  • 秦皇岛网站制作服务无网站无产品链接如何做SOHO
  • 国际婚恋网站做翻译合法吗南宁网络推广有限公司
  • 济南做网站公司排名销售市场规划方案
  • 营销型网站定制珠海建站网站
  • 企业网站代码wordpress页面重定向循环
  • 厦门网站建设哪家便宜用wordpress做企业网站
  • 网站备案有幕布python 做网站速度
  • 旅游网站模板psd网站后台维护主要做什么
  • 晋江做任务的网站网站如何设置关键词
  • 呼伦贝尔网站建设呼伦贝尔ps网页设计心得体会
  • 字母logo设计网站动画设计方案及内容
  • 怎样做网站建设方案wordpress 附件预览
  • 网站内容编辑wordpress cron原理
  • 户外商品网站制作建筑网络图片