1

こんにちは私はシリアルポートを読み書きするプログラムを作成しています。プログラムの開始時に、クラスReadSerialPort、WriteSerialPort、およびJWakeupを呼び出しています。

私の問題は次のとおりです。JWakeupからシリアルポートに何かを書き込んでいる間、シリアルポートが応答するまで待ちたいです。

public class MainClass{


public static void main(String args[]){

    new ReadSerialPort().OpenSerialPort();
    new WriteSerialPort().OpenSerialPort();

    new JWakeup().setVisible(true);
}}


public class JWakeUp extends JFrame implements ActionListener{


public JWakeUp() {
    super("JWakeUp");

    //Other Code

    new WriteSerialPort().writeDataToSerialPort("WritenString");

    //In this part I want to know when the class ReadSerialPort() 
    // will read the "readenString"

}}
4

1 に答える 1

0

これらのクラスの外部でセマフォを作成し、それらのクラスにSemaphore semaphore = new Semaphore(0);渡すことができます。ReadSerialPortの使用を終了した後、ReadSerialPortの使用semaphore.release()を待つJWakeUp内semaphore.acquire()

于 2013-02-07T11:14:58.547 に答える