>  기사  >  Java  >  Java에서 타이머 스레드를 어떻게 구현할 수 있나요?

Java에서 타이머 스레드를 어떻게 구현할 수 있나요?

WBOY
WBOY앞으로
2023-08-30 14:49:041050검색

Java에서 타이머 스레드를 어떻게 구현할 수 있나요?

Timer 클래스는 지정된 시간에 한 번 또는 반복적으로 실행되도록 작업을 예약합니다. 백그라운드에서 데몬 스레드로 실행될 수도 있습니다. 타이머를 데몬 스레드와 연결하려면 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제