`

模拟烧茶的过程

 
阅读更多
 模拟烧茶的过程:
     1)烧水
     2)需要茶叶的时候发现没茶叶,叫eric去买(没有茶叶,需要买)
     3)需要杯子的时候发现没杯子,叫meten去买(没有杯子,需要买)
     4)放茶叶
     3)倒水

 

public class ExecDemo2 {
 
 public static void main(String[] args){
  
  Tea tea = new Tea();
  tea.setTea(false);
  
  Teacup teacup = new Teacup();
  teacup.setTeacup(false);
  
  Thread burntTea = new BurntTea(tea,teacup,"勾力");
  burntTea.start();
 }

}

/**
 * 共享数据Tea
 * @author Administrator
 *
 */
class Tea{
 
 private boolean isTea;

 public boolean isTea() {
  return isTea;
 }

 public void setTea(boolean isTea) {
  this.isTea = isTea;
 }
 
}
/**
 *  共享数据Teacup
 * @author Administrator
 *
 */
class Teacup{
 
 private boolean isTeacup;

 public boolean isTeacup() {
  return isTeacup;
 }

 public void setTeacup(boolean isTeacup) {
  this.isTeacup = isTeacup;
 }
 
 
}

/**
 * 管理线程 BurntTea
 * @author Administrator
 *
 */
class BurntTea extends Thread {
 
 private Tea tea;
 private Teacup teacup;
 public BurntTea(Tea tea, Teacup teacup,String name){
  
  super(name);
  this.tea = tea;
  this.teacup = teacup;
 }
 
 public void run(){
  
  String name = Thread.currentThread().getName();
  System.out.println(name + "准备烧茶啦");
  System.out.println(name + "烧水啦");
  while(!this.tea.isTea()){
   System.out.println(name + "发现没茶叶啦");
   Runnable buyTea = new BuyTea(tea);
   Thread buyTeaThread = new Thread(buyTea,"eric");
   buyTeaThread.start();
   try {
    buyTeaThread.join();
   } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   if(this.tea.isTea()){
    break;
   }
  }
  
  while(!this.teacup.isTeacup()){
   System.out.println(name + "发现没有茶杯啦");
   Thread buyTeacup = new BuyTeacup(teacup,"meten");
   buyTeacup.start();
   try {
    buyTeacup.join();
   } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   if(this.teacup.isTeacup()){
    break;
   }
  }
  System.out.println(name + "放茶叶");
  System.out.println(name + "放水");
  try {
   Thread.sleep(2000);
  } catch (InterruptedException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  
  System.out.println("茶烧好啦");
 }
}

/**
 * 买茶杯线程
 * @author Administrator
 *
 */
class BuyTeacup extends Thread{
 
 private Teacup teacup;
 public BuyTeacup(Teacup teacup ,String name){
  
  super(name);
  this.teacup = teacup;
 }
 public void run(){
  
  String name = Thread.currentThread().getName();
  System.out.println(name + "去买茶杯了");
  try {
   Thread.sleep(1000);
  } catch (InterruptedException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  System.out.println(name + "买茶杯回来啦");
  
  int a = (int)(Math.random() * 1000) % 3;
  switch(a){
  case 1:
   System.out.println("买茶杯成功");
   this.teacup.setTeacup(true);
   break;
  case 2: 
   System.out.println("买茶杯不成功");
   this.teacup.setTeacup(false);
   break;
  case 3:
   System.out.println("买茶杯成功");
   this.teacup.setTeacup(true);
   break;
  }
  
 }
}

/**
 * 买茶叶线程
 * @author Administrator
 *
 */
class BuyTea implements Runnable{
 
 private Tea tea;
 public BuyTea(Tea tea){
  this.tea = tea;
 }
 
 public void run(){
  
  String name = Thread.currentThread().getName();
  System.out.println(name + "去买茶叶了");
  try {
   Thread.sleep(1000);
  } catch (InterruptedException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  
  System.out.println(name + "买茶叶回来啦");
  
  int a = (int)(Math.random() * 1000) % 4;
  switch(a){
  case 1:
   System.out.println("买茶叶成功");
   this.tea.setTea(true);
   break;
  case 2 :
   System.out.println("买茶叶不成功");
   this.tea.setTea(false);
   break;
  case 3:
   System.out.println("买茶叶成功");
   this.tea.setTea(true);
   break;
  case 4:
   System.out.println("买茶叶不成功");
   this.tea.setTea(false);
   break;
  }
  
 }
}
 

 

分享到:
评论

相关推荐

    基于PLC的茶叶自动化连续化发酵控制系统设计.pdf

    PLC作为一种广泛应用于工业控制领域的电子设备,通过数字或模拟输入/输出来控制各种类型的机械或生产过程。在茶叶发酵过程中,温度、湿度和氧气水平是影响发酵效果的关键因素,因此本系统通过PLC精准地控制这些参数...

    江苏省扬州中学教育集团树人学校中考化学第三次模拟考试题 苏教版.doc

    4. 化学性质的理解:分子不断运动的概念在“闻香识茶”问题中体现,人们能闻到茶香是因为茶的香味分子在空气中扩散。 5. 物质应用知识:题目涉及了四种物质的应用,如A选项中展示的可能是活性炭用于净化水,B和C是...

    2021年茶艺师(中级)报名考试及茶艺师(中级)模拟考试题.docx

    10. 潮汕炉常用于烧开水,采用木炭作为燃料,是潮汕地区茶文化的象征。 11. 宗教茶艺强调“天人合一”和“茶禅一味”,注重修身养性。 12. 唐代煎茶法的茶饼先在无异味的文火上烤炙,保证茶的原始风味。 13. 唐德宗...

    三年模拟五年中考物理模拟试题练习.pdf

    16. **热传递与温度**:题目16通过煮茶蛋的例子说明温度对分子运动的影响,温度越高,分子运动越剧烈。 17. **能量转化**:题目18进一步说明能量的转化过程,如燃烧过程中的化学能转化为热能。 18. **热量计算**:...

    2021年茶艺师(初级)新版试题及茶艺师(初级)模拟考试题库.docx

    23. **台湾乌龙茶冲泡步骤**:包括备具、温壶烫盏、赏茶、置茶、温润泡、正式冲泡、刮沫、淋壶、洗杯、滤茶、斟茶、奉茶、品茶等一系列流程。 24. **锡制储茶器具优点**:锡的密封性能好,能防潮、防氧化、防光、防...

    数学北师大四年级下册优化作者宋振军PPT学习教案.pptx

    在讨论烙三张饼的最佳方法时,学生们通过模拟烙饼的过程,记录每个步骤的时间,最终得出烙三张饼需要九分钟的结论。通过对比不同策略下的时间消耗,学生们能总结出规律:烙偶数张饼时,两张两张地烙最节省时间,而烙...

    湖南省张家界市初中物理毕业学业水平考试模拟检测试卷1

    12. 茶香扑鼻是因为香气分子在做无规则运动,这是扩散现象。在沏茶过程中,茶叶吸收热量,内能增大。 13. 火箭使用液态氢作为燃料,是因为氢的热值高,燃烧时能释放大量能量。燃料燃烧的化学能转化为火箭的机械能。 ...

    新人教版四年级上册数学 第1课时 沏茶问题 重点习题练习复习课件.pptx

    因此,最佳策略通常是先烧水,在烧水的过程中同时准备茶具,水烧开后立即泡茶。这样的安排能确保时间的最有效利用。 此外,解决这类问题时,学生们需要培养逻辑思维和分析能力。通过实际操作和比较,理解并行处理的...

    四年级上册数学广角合理安排时间之烧水沏茶问题PPT学习教案.pptx

    因此,四年级上册数学广角合理安排时间之烧水沏茶问题的学习教案,旨在通过生动有趣的情境模拟,将时间管理的概念和策略融入到数学学习中,让学生在解决实际问题的过程中,提升他们的时间观念和统筹安排的能力。...

    css3实现的一杯茶冒着热气.rar

    本项目“css3实现的一杯茶冒着热气”是利用CSS3的新特性来模拟一杯热茶冒出的热气效果,展示了CSS3在动态效果和动画方面的应用。 首先,我们来看`index.html`文件,这是网页的主体部分,它通常包含HTML标记来构建...

    异步及异步回调

    例如,假设我们正在编写一个模拟泡茶的过程,这个过程可能包括烧水、泡茶叶等步骤,这些步骤可能需要一定时间,我们可以使用异步回调来处理: ```csharp public delegate void TeaReadyHandler(string teaType, ...

    2009年湖北省黄冈市小池二中物理中考模拟试题一及答案.pdf

    在这份2009年湖北省黄冈市小池二中的物理中考模拟试题中,涉及了多个物理知识点。以下是对这些知识点的详细解析: 1. 声现象的理解错误选项 选项A中诗句“不敢高声语,恐惊天上人”中的“高”指的是声音的响度大,...

    2014中考物理模拟试题新课标新考点新思维新考题_(41).pdf

    【标题】和【描述】提及的是一个2014年的中考物理模拟试题集,主要针对新课标、新考点、新思维和新考题。【标签】为“安全”,但在此场景下,它可能指的是考试的安全性或者考生在解答过程中需要注意的安全问题。 ...

    通用版备战中考中考化学模拟试题八.pdf

    1. 化学变化:化学变化是指物质发生变化时,原有的化学键断裂,形成新的化学键,产生新物质的过程。例如题目中的“纸张燃烧”属于化学变化,产生了新的化合物,如二氧化碳和水。 2. 地壳元素含量:地壳中含量最多的...

    吉林省长春市高三英语上学期第一次模拟考试(扫描版) 试题.doc

    文本3、4涉及到请求和应答,如"请给我两杯啤酒"、"我没有,茶呢?"等,这些对话展示了基本的交际礼仪和应对策略。 3. **信息提取与理解**:文本5、6是购物对话,测试学生在实际购物环境中理解商品信息和颜色偏好的...

    广西桂林市永福县三皇中学2013届中考化学模拟试题(四) 新人教版

    2. 化学变化识别:古代“山顶洞人”的钻木取火是一个典型的化学变化过程,因为在这个过程中产生了新的物质——火,即发生了燃烧反应,而采集野果、狩猎捕鱼和缝制衣服主要涉及物理变化。 3. 物质用途与化学性质:...

    前言 关于本课(2013级-C++程序设计)

    C++广泛应用于系统软件、游戏开发、实时物理模拟等领域,是一种功能强大且灵活的语言。 关于“为什么学C++?”的问题,课程指出学习C++的原因有几个。首先,C++语言的底层操作能力强,能够直接进行内存管理,适合...

    广东省东莞市中堂镇届中考化学第二次模拟试题(无答案) 试题.doc

    4. 元素在物质中的存在形式:市场上的商品如“锌硒茶”中的“锌、硒、氟”指的是元素的存在状态,这涉及到化学元素在化合物中的存在形式,通常以离子或化合物的形式存在于物质中。 5. 化学安全知识:题目提到了霉变...

    福建省2020年初中物理毕业和高中阶段学校招生考试模拟试卷一无答案

    晶体熔化过程中温度不变,但内能增加;热机效率与其所做的有用功与燃料完全燃烧放出的热量之比有关;四冲程汽油机的做功次数与飞轮转速有关;沿海地区的风通常从温度低的海洋吹向陆地。 13. 杠杆原理与力的平衡 当...

    《数学广角:合理安排时间》教学课件1.ppt

    课程要求学生通过小组合作,模拟沏茶的过程,找出最短的时间安排。在这个过程中,学生需要理解和应用并行处理的概念,即同时进行可以同时进行的步骤,以减少总的完成时间。 例如,烧水(8分钟)的过程中,可以同时...

Global site tag (gtag.js) - Google Analytics