打字猴:1.700468996e+09
1700468996 while(true){
1700468997
1700468998 if(this.type.equals(“breakfast”)){//监控是否在吃早餐
1700468999
1700469000 //如果发现韩非子在吃饭,就通知李斯
1700469001
1700469002 if(this.hanFeiZi.isHavingBreakfast()){
1700469003
1700469004 this.liSi.update(“韩非子在吃饭”);
1700469005
1700469006 //重置状态,继续监控
1700469007
1700469008 this.hanFeiZi.setHavingBreakfast(false);
1700469009
1700469010 }
1700469011
1700469012 }else{//监控是否在娱乐
1700469013
1700469014 if(this.hanFeiZi.isHavingFun()){
1700469015
1700469016 this.liSi.update(“韩非子在娱乐”);
1700469017
1700469018 this.hanFeiZi.setHavingFun(false);
1700469019
1700469020 }
1700469021
1700469022 }
1700469023
1700469024 }
1700469025
1700469026 }
1700469027
1700469028 }
1700469029
1700469030 监控程序继承了java.lang.Thread类,可以同时启动多个线程进行监控,Java的多线程机制还是比较简单的,继承Thread类,重写run()方法,然后new SubThread(),再然后subThread.start()就可以启动一个线程了。我们建立一个场景类来回顾一下这段历史,如代码清单22-6所示。
1700469031
1700469032 代码清单22-6 场景类
1700469033
1700469034 public class Client{
1700469035
1700469036 public static void main(String[]args)throws InterruptedException{
1700469037
1700469038 //定义出韩非子和李斯
1700469039
1700469040 LiSi liSi=new LiSi();
1700469041
1700469042 HanFeiZi hanFeiZi=new HanFeiZi();
1700469043
1700469044 //观察早餐
1700469045
[ 上一页 ]  [ :1.700468996e+09 ]  [ 下一页 ]