タスクを定期的に実行するようにスケジュールするにはどうしたらいいですか?
2023-09-11 16:17:45
質問
スケジュールされたタスクを実装するためにいくつかのコードを試していたところ、以下のコードを思いつきました。
import java.util.*;
class Task extends TimerTask {
int count = 1;
// run is a abstract method that defines task performed at scheduled time.
public void run() {
System.out.println(count+" : Mahendra Singh");
count++;
}
}
class TaskScheduling {
public static void main(String[] args) {
Timer timer = new Timer();
// Schedule to run after every 3 second(3000 millisecond)
timer.schedule( new Task(), 3000);
}
}
私の出力:
1 : Mahendra Singh
私はコンパイラが3秒の周期でマヘンドラ・シンのシリーズを出力することを期待しましたが、約15分間待っても1回しか出力されません。
どのように解決するのですか?
使用方法
timer.scheduleAtFixedRate
public void scheduleAtFixedRate(TimerTask task,
long delay,
long period)
指定されたタスクを、指定された遅延時間後に開始する定額の繰り返し実行のためにスケジューリングする。後続の実行は、指定された期間で区切られた、ほぼ一定の間隔で行われます。
定率実行では、各実行が最初の実行予定時刻を基準としてスケジュールされる。実行が何らかの理由(ガベージコレクションやその他のバックグラウンド活動など)で遅延した場合、2つ以上の実行が立て続けに発生し、追いつくことができます。
固定レートの実行は、毎正時にチャイムを鳴らしたり、毎日特定の時間にスケジュールされたメンテナンスを実行するなど、絶対的な時間に敏感な反復的なアクティビティに適しています。また、10秒間、毎秒1回カウントダウンするタイマーのように、一定回数の実行にかかる総時間が重要な反復的な活動にも適している。最後に、固定レート実行は、互いに対して同期を保つ必要がある複数の繰り返しタイマー タスクをスケジューリングするのに適しています。
パラメータです。
- task - スケジュールされるタスク。
- delay - タスクが実行されるまでのミリ秒単位の遅延時間です。
- period - 連続したタスクの実行の間のミリ秒単位の時間です。
スローします。
- IllegalArgumentException - delayが負の値、またはdelay + System.currentTimeMillis()が負の値である場合に発生します。
- IllegalStateException - タスクがすでにスケジュールされているかキャンセルされている場合、タイマーがキャンセルされた場合、またはタイマーのスレッドが終了した場合。
関連
-
Javaでよくある構文エラー
-
Javaがテキストファイルを読み込む
-
git pull appears現在のブランチに対するトラッキング情報がありません。
-
[解決済み] android.os.NetworkOnMainThreadException' を修正するにはどうすればよいですか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
mvn' は、内部または外部のコマンド、操作可能なプログラムまたはバッチファイルとして認識されません。
-
メモ帳でJavaプログラムをコンパイルして実行すると、Could not find or load main class ...というエラーが表示される。解決方法
-
ApplicationContextの起動エラーです。条件レポートを表示するには、アプリケーションを'de'で再実行します。
-
無効なメソッド宣言
-
Javaジェネリックを1つの記事で
-
java.sql.SQLException: 結果セットの開始前
-
配列定数は初期化子でのみ使用可能です。
-
Java基礎編 - オブジェクト指向
-
春ブート複数のデータソースの管理(atomikos)同じサーバーホスト上の複数のプロジェクトを開始する複数のJava - jarのエラーソリューション
-
テストが空であるかどうかを判断するためのオプションの処理