こんにちは私はスレッドを再開するのに問題があります私のコードは
public boolean Wait(String Reply){
if (Reply.equalsIgnoreCase("Y")){
try {
t.resume();
}
catch (Exception e){
System.out.println("\n" + "The exception in resume thread method:::: " + e);
}
System.out.println("\n" + "In the Wait Function of Sender");
return true;
}
JOptionPane.showMessageDialog(j ,
"Please Wait While The User Accpets the Trasmission ",
"",
JOptionPane.INFORMATION_MESSAGE);
try{
t = new Thread(this);
t.sleep(100000);
}
catch (InterruptedException ie){
System.out.println(ie.getMessage());
}
return false;
}
問題を特定するのに役立つので、それがどのように機能するかを説明するかもしれません。最初にスレッドがスリープ状態になります......次に、値「Y」を渡すpublic boolean Wait()
という名前の別の関数からこの関数を呼び出してから、スレッドを再開しようとしますが、スレッドを再開する代わりに関数を呼び出すと、スレッドは再開されず、FALSE値が返されます。さらに、このスレッドのために、サービスを停止することすらできません。スレッドがタイムアウトするまで待つ必要があります。ReplyYes
t.resume()
Java.Lang.Null.PointerException
誰かがそれを正しく動作させる方法を説明できますか?ありがとうございました