2

しばらくしてから、またはユーザーの要求に基づいて、操作 (タスク) をスケジュールしたいと考えています。私のコードでは、このようなものがあります

Timer timer = new Timer();
TimerTask timerTask = new TimerTask();
timer.schedule(timerTask,time);//Time in milli seconds

if(UserRequestedtoCancel)
{
  // Do operatation 
  timerTask.cancel(); 
} 

問題は、指定した時間以降もタスクが実行されていることですが、1 回だけです。タスクが実行されないようにするために、timer.cancel() などを実行する必要がありますか?

ありがとう

4

1 に答える 1

0

timerTask.cancel() を呼び出した後に timerTask = null を設定すると、うまくいきました。ユーザーまたはスケジューラーのいずれかによってタスクが 1 回だけ実行されました。

于 2012-06-25T06:16:33.897 に答える