我正在尝试学习java中的线程,并且实现了使用线程实现硬币电话功能的想法。
我能够写下基本任务。我的流程图如下。
我曾尝试编写一个用于检查挂钩状态的类。
public class Hook {
static Logger log = Logger.getLogger(Hook.class.getName());
OffTheHook offTheHook= new OffTheHook();
void checkHook(Boolean hookStatus, String keyPressed){
log.debug("Hook Status "+hookStatus);
if(hookStatus==true){
offTheHook.beforeDroppingCoin(hookStatus);
}else{
if(keyPressed!=null){
DisplayMessages.displayMessage("FollowInstruction");
}else{
displayReadyMessage();
}
}
}
public static void displayReadyMessage(){
DisplayMessages.displayMessage("ready");
}
}
另一个计时器类..
public class TimerClass extends Thread{
int timeInMilli;
boolean status=false;
public TimerClass(int timeInMilli){
this.timeInMilli=timeInMilli;
}
@Override
public void run() {
timer();
}
private void timer(){
try {
Thread.currentThread().sleep(timeInMilli);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
如何让这些类相互通信(小例子就足够了)。此外,我的要求是,如果耳机重新挂机,则必须切断呼叫。我应该如何编写代码来监控该状态?基于这种状态,我需要做出决定。同时我需要另一个Thread来输入钩子的状态。
一小段代码将具有类似的功能,将会有很大的帮助。