2011-08-24 1 views
5

:私は別のメッセージを送信しますキャンセルのメッセージをリッスンする別のスレッドを持っている必要があります取り消し予定のエグゼキュータ

 executor.schedule(new Runnable() { 
      public void run() { 
       emitter.emit(message); 
      } 
     }, delay, TimeUnit.MILLISECONDS); 

をし、上記のメッセージが送信されないようにする必要があります。キャンセルメッセージが受信されない場合、上記のメッセージは通常通り送信されます。これを行うにはどうすればよいでしょうか?

ありがとうございました。

答えて

9

これは

ScheduledFuture<?> future = executor.schedule(new Runnable() { 
     public void run() { 
     emitter.emit(message); 
    } 
    }, delay, TimeUnit.MILLISECONDS); 
future.cancel(true); //true if task should be interrupted 

またはエグゼキュータのシャットダウン()メソッドを使用しての戻り値を用いて行うことができます。
shutdown() とcancel()

関連する問題