您好,我在恢复线程时遇到问题,我的代码是
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;
}
我可能会向您解释它是如何工作的,因为它将帮助您确定问题。首先线程进入睡眠状态......然后我public boolean Wait()
从另一个名为“Y”的函数调用这个函数,然后ReplyYes
我尝试恢复线程但是t.resume()
函数调用,而不是恢复线程给了我一个Java.Lang.Null.PointerException
并且线程未恢复,导致返回 FALSE 值。另外,由于这个线程,我什至无法停止我的服务,我必须等待线程超时。
任何人都可以解释如何使其正常工作!谢谢