ホームページ  >  記事  >  Java  >  Java でタイマー スレッドを実装するにはどうすればよいでしょうか?

Java でタイマー スレッドを実装するにはどうすればよいでしょうか?

WBOY
WBOY転載
2023-08-30 14:49:041050ブラウズ

Java でタイマー スレッドを実装するにはどうすればよいでしょうか?

Timer クラスは、指定された時間に 1 回または繰り返し実行するタスクをスケジュールします。デーモン スレッドとしてバックグラウンドで実行することもできます。タイマーをデーモン スレッドに関連付けるには、Boolean 値を持つコンストラクターを使用します。タイマーは、固定遅延固定レートでタスクをスケジュールします。固定遅延では、いずれかの実行がシステム GC によって遅延すると、他の実行も遅延し、各実行は前の実行に応じて遅延します。固定レートでは、 System GC によって実行が遅延した場合、最初の実行開始時刻に対応する固定レートをカバーするために 2 ~ 3 回の実行が連続して発生します。 Timer クラスは、タイマーをキャンセルするための cancel() メソッドを提供します。このメソッドが呼び出されると、タイマーが期限切れになります。 Timer クラスは、TimerTask を実装するタスクのみを実行します。

import java.util.*;
public class TimerThreadTest {
   public static void main(String []args) {
      Task t1 = new Task("Task 1");
      Task t2 = new Task("Task 2");
      Timer t = new Timer();
      t.schedule(t1, 10000); <strong>//  executes for every 10 seconds</strong>
      t.schedule(t2, 1000, 2000); <strong>// executes for every 2 seconds</strong>
   }
}
class Task extends TimerTask {
   private String name;
   public Task(String name) {
       this.name = name;
   }
   public void run() {
      System.out.println("[" + new Date() + "] " + name + ": task executed!");
   }
}

出力

[Thu Aug 01 21:32:44 IST 2019] Task 2: task executed!
[Thu Aug 01 21:32:46 IST 2019] Task 2: task executed!
[Thu Aug 01 21:32:48 IST 2019] Task 2: task executed!
[Thu Aug 01 21:32:50 IST 2019] Task 2: task executed!
[Thu Aug 01 21:32:52 IST 2019] Task 2: task executed!
[Thu Aug 01 21:32:53 IST 2019] Task 1: task executed!
[Thu Aug 01 21:32:54 IST 2019] Task 2: task executed!
[Thu Aug 01 21:32:56 IST 2019] Task 2: task executed!
[Thu Aug 01 21:32:58 IST 2019] Task 2: task executed!
[Thu Aug 01 21:33:00 IST 2019] Task 2: task executed!

以上がJava でタイマー スレッドを実装するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。