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

多语言的网站华润置地建设事业部官方网站

多语言的网站,华润置地建设事业部官方网站,电子商务网站建设的基本构成,成都微信小程序定制文章目录 线程间的通讯技术就是通过等待和唤醒机制#xff0c;来实现多个线程协同操作完成某一项任务#xff0c;例如经典的生产者和消费者案例。等待唤醒机制其实就是让线程进入等待状态或者让线程从等待状态中唤醒#xff0c;需要用到两种方法#xff0c;如下#xff1a… 文章目录 线程间的通讯技术就是通过等待和唤醒机制来实现多个线程协同操作完成某一项任务例如经典的生产者和消费者案例。等待唤醒机制其实就是让线程进入等待状态或者让线程从等待状态中唤醒需要用到两种方法如下 等待方法 : void wait() 让线程进入无限等待。void wait(long timeout) 让线程进入计时等待以上两个方法调用会导致当前线程释放掉锁资源。 唤醒方法 : void notify() 唤醒在此对象监视器锁对象上等待的单个线程。void notifyAll() 唤醒在此对象监视器上等待的所有线程。以上两个方法调用不会导致当前线程释放掉锁资源 注意 等待和唤醒的方法都要使用锁对象调用需要在同步代码块中调用)等待和唤醒方法应该使用相同的锁对象调用 /* 1 线程进入无限等待 注意进入无限等待需要使用锁在同步代码中调用wait方法 */ /*1 线程进入无限等待注意进入无限等待需要使用锁在同步代码中调用wait方法*/ public class Test1 {public static void main(String[] args) {Object obj new Object(); // 作为锁对象new Thread(new Runnable() {Overridepublic void run() {synchronized (obj) {System.out.println(线程开始执行);System.out.println(线程进入无线等待....);try {obj.wait(); // 进入无线等待状态 , 并释放锁} catch (InterruptedException e) {e.printStackTrace();}System.out.println(无线等待被唤醒....);}}}).start();} }/* 线程进入无限等待后被唤醒 注意等待和唤醒是两个或多个线程之间实现的。进入无限等待的线程是不会自动唤醒只能通过其他线程来唤醒。 */ /*线程进入无限等待后被唤醒注意等待和唤醒是两个或多个线程之间实现的。进入无限等待的线程是不会自动唤醒只能通过其他线程来唤醒。*/ public class Test2 {public static void main(String[] args) {Object obj new Object(); // 作为锁对象new Thread(new Runnable() {Overridepublic void run() {synchronized (obj) {System.out.println(线程开始执行);System.out.println(线程进入无线等待....);try {obj.wait(); // 进入无线等待状态 , 并释放锁} catch (InterruptedException e) {e.printStackTrace();}System.out.println(无线等待被唤醒....);}}}).start();new Thread(new Runnable() {Overridepublic void run() {try {Thread.sleep(3000);} catch (InterruptedException e) {e.printStackTrace();}synchronized (obj) {obj.notify();// 随机唤醒此监视器中等待的线程 , 不会释放锁System.out.println(唤醒后 , 5秒钟后释放锁);try {Thread.sleep(5000);} catch (InterruptedException e) {e.printStackTrace();}}// 释放锁}}).start();} }/* 3 线程进入计时等待并唤醒 注意进入计时等待的线程时间结束前可以被其他线程唤醒。时间结束后会自动唤醒 */ /*3 线程进入计时等待并唤醒注意进入计时等待的线程时间结束前可以被其他线程唤醒。时间结束后会自动唤醒*/ public class Test3 {public static void main(String[] args) {new Thread(new Runnable() {Overridepublic void run() {synchronized (Test3.class) {System.out.println(获取到锁 , 开始执行);try {System.out.println(进入计时等待...3秒);Test3.class.wait(3000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(自动唤醒.);}}}).start();} }生产者和消费者案例 /* 生产者步骤 1判断桌子上是否有汉堡包 如果有就等待如果没有才生产。 2把汉堡包放在桌子上。 3叫醒等待的消费者开吃 */ import sun.security.krb5.internal.crypto.Des;/*生产者步骤1判断桌子上是否有汉堡包如果有就等待如果没有才生产。2把汉堡包放在桌子上。3叫醒等待的消费者开吃*/ public class Cooker implements Runnable {Overridepublic void run() {while (true) {synchronized (Desk.lock) {if (Desk.count 0) {break;} else {if (Desk.flag) {// 桌子上有食物try {Desk.lock.wait();} catch (InterruptedException e) {e.printStackTrace();}} else {// 桌子上没有食物System.out.println(厨师生产了一个汉堡包...);Desk.flag true;Desk.lock.notify();}}}}} } /* 消费者步骤 1判断桌子上是否有汉堡包。 2如果没有就等待。 3如果有就开吃 4吃完之后桌子上的汉堡包就没有了 叫醒等待的生产者继续生产 汉堡包的总数量减一 */ import sun.security.krb5.internal.crypto.Des;/*消费者步骤1判断桌子上是否有汉堡包。2如果没有就等待。3如果有就开吃4吃完之后桌子上的汉堡包就没有了叫醒等待的生产者继续生产汉堡包的总数量减一*/ public class Foodie implements Runnable {Overridepublic void run() {while (true) {synchronized (Desk.lock) {if (Desk.count 0) {break;} else {if (Desk.flag) {// 桌子上有食物System.out.println(吃货吃了一个汉堡包...);Desk.count--; // 汉堡包的数量减少一个Desk.flag false;// 桌子上的食物被吃掉 , 值为falseDesk.lock.notify();} else {// 桌子上没有食物try {Desk.lock.wait();} catch (InterruptedException e) {e.printStackTrace();}}}}}} }public class Test {public static void main(String[] args) {new Thread(new Foodie()).start();new Thread(new Cooker()).start();} }
http://www.pierceye.com/news/142733/

相关文章:

  • 网站 图片切换wordpress永久免费
  • 自建社区网站网站建设全包设计
  • 广东装饰网站建设建设银行官网网站人事
  • 做网站设计赚钱吗保定模板建站平台
  • 找个免费网站这么难吗做球形全景的网站
  • c语言做网站后端深圳商业网站建设哪家好
  • wordpress小说网站模板下载地址网站建设中企动力推荐
  • 自己做网站网页剧中中国科技
  • 石家庄网站制作福州怎么提升网站打开速度
  • 网站分布郴州建设网站公司
  • 最有效的网站推广费用seo推广是什么意怿
  • 网站推广的基本方法是网站建设公司的介绍
  • 网站开发企业部门网站按抓取手机软件贵阳
  • 龙岗做网站公司icxun临夏州建设网站
  • 网站跳转到另外一个网站怎么做品牌推广部的职责
  • 视频网站开发用什么服务器wordpress数据库邮箱
  • 网站建设公司前十名电子商务网站建设论文开题报告
  • 泉州公司建设网站秦皇岛市网站建设
  • 网站建设说课获奖视频小程序制作用华网天下优惠
  • 杭州网站建设公司代理加盟广东建设企业网站怎么样
  • 网站建制作公司企业营销
  • 建设网站基本流程佛山制作网页公司
  • 眼睛网站开发wordpress影院插件
  • 成都专业做网站的公司有哪些建设工程管理专业
  • 北京seo关键词优化外包网站seo诊断分析报告
  • 怎么做淘宝客网站注册域名后如何建立网站
  • 网络营销资讯网站茶山镇仿做网站
  • 东莞产品网站建设网络设计方案包括哪些
  • 精品课程网站建设论文一个网站如何做推广
  • elementui 做的网站个人网站做推广