我的問題是:我有兩塊代碼..我只有在定時器達到10秒時才執行一個塊..所以我使用這段代碼調用TimerTask ..另一個代碼塊只在我不執行' t進入TimerTask函數..(run()函數).. 有沒有辦法知道TimerTask是否已經完成其執行,例如返回一個布爾變量?我使用Java進行編程。有沒有辦法知道timerTask是否已完成?
我想:
TimerTask emd = new EsperaMensagemDigitada(outgoing, incoming);
timer.schedule(emd, 10000);
if(emd.cancel() == true){
messageOut = userInput.readLine();
outgoing.println(messageOut + " [Sua vez]");
System.out.println("Aguardando resposta...");
outgoing.flush();
}
但似乎它總是會執行,如果clausure裏面的代碼..所以我dind't解決我的問題,但..
這樣做的另一部分問題是,我有這樣的代碼:
messageOut = userInput.readLine();
我想,如果用戶沒有10秒我打印默認消息輸入任何信息,如果他進入了一個消息,直到10秒,我打印了MESSA GE。問題是,我陷在userInput.readLine(),等待進入..
一個方法:給的任務屬性更改支持運行,這樣,當它改變狀態,您可以通知監聽器的代碼。 –