30 秒ごとにレコードがSQLite DBに保存されます。
30 秒以内にスレッドを実行して、レコード数をサーバーにポストしたいと考えています。
スレッドが30 秒を超えた場合は、スレッドを単独で強制終了します。
30 秒ごとにレコードがSQLite DBに保存されます。
30 秒以内にスレッドを実行して、レコード数をサーバーにポストしたいと考えています。
スレッドが30 秒を超えた場合は、スレッドを単独で強制終了します。
次のようにタイマーを使用します。
Timer t = new Timer();
t.schedule(new TimerTask() {
@Override
public void run() { //timer
System.out.println("done");
this.cancel();
}
}, 30000L);
ハンドラー、特にpostDelayed(Runnable, long)
メソッドを見てください。
これは、将来実行するコードを指定するための軽量な方法です。この場合、コードを設定して30 seconds
、問題のあるコードがまだ実行されているかどうかを確認できます。
(たとえば、コードの実行時にブール値をtrueに設定することにより)、使用可能な手段でそれを強制終了します。
thread.sleep(30000);
スレッドを30秒間スリープするために使用します。thread.interrupt();
注:thread.stop();
非推奨の方法であるため、使用しないでください。