实现线程间通信的问题。

时间:2016-09-08 09:34:39

标签: java multithreading synchronization thread-safety

我正在尝试学习java中的线程,并且实现了使用线程实现硬币电话功能的想法。

我能够写下基本任务。我的流程图如下。

enter image description here

我曾尝试编写一个用于检查挂钩状态的类。

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来输入钩子的状态。

一小段代码将具有类似的功能,将会有很大的帮助。

0 个答案:

没有答案
相关问题