您好,我正在创建一个读取和写入串行端口的程序。在程序的开头,我将调用类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"
}}
最佳答案
您可以使用Semaphore semaphore = new Semaphore(0);
在这些类之外创建信号量,并将其传递给那些类。完成ReadSerialPort后,使用semaphore.release()
并在JWakeUp中等待ReadSerialPort的地方使用semaphore.acquire()