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 ]
[
下一页 ]