Hẹn giờ sử dụng Timer và TimerTask trong Java

Timer và TimerTask trong Java là lớp tiện ích có thể được sử dụng để lên lịch cho một luồng được thực thi tại một thời điểm nhất định trong tương lai.

Timer và TimerTask trong Java thuộc gói java.util, thường được sử dụng để lên lịch cho một luồng được thực thi tại một thời điểm nhất định trong tương lai. Lớp Timer trong Java có thể được sử dụng để lên lịch cho một tác vụ được thực thi một lần hoặc lặp lại nhiều lần.

Hẹn giờ sử dụng Timer và TimerTask trong Java

1. Lên lịch thực thi nhiệm vụ một lần Timer trong Java

Hãy thực hiện xử lý thực thi nhiệm vụ một lần đơn giản với sự trợ giúp của lớp Timer trong Java:

package test;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

/**
 *
 * @author TVD
 */
public class TestTimer {

    public static void main(String[] args) {
        TimerTask timerTask = new TimerTask() {
            @Override
            public void run() {
                System.out.println(new Date().toString());
            }
        };
        long delay = 1000L;
        Timer timer = new Timer("Timer");
        timer.schedule(timerTask, delay);
    }

}

Kết quả sau khi chạy lệnh trên như sau:

Thu Feb 28 10:16:47 ICT 2019

Trong phương thức schedule() nhận vào tham số TimerTask và thời gian chờ xử lý (delay).

2. Lên lịch thực thi nhiệm vụ nhiều lần Timer trong Java

Hãy thực hiện xử lý thực thi nhiệm vụ nhiều lần đơn giản với sự trợ giúp của lớp Timer trong Java:

package test;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

/**
 *
 * @author TVD
 */
public class TestTimer {

    public static void main(String[] args) {
        TimerTask timerTask = new TimerTask() {
            @Override
            public void run() {
                System.out.println(new Date().toString());
            }
        };
        long delay = 1000L;
        Timer timer = new Timer("Timer");
        timer.schedule(timerTask, 0, delay);
    }

}

Kết quả sau khi chạy lệnh trên như sau:

Thu Feb 28 10:34:00 ICT 2019
Thu Feb 28 10:34:01 ICT 2019
Thu Feb 28 10:34:02 ICT 2019
Thu Feb 28 10:34:03 ICT 2019
Thu Feb 28 10:34:04 ICT 2019

3. Lên lịch thực thi nhiệm vụ hẹn giờ cố định Timer trong Java

Ví dụ như bạn muốn thực thi nhiệm vụ hẹn giờ cố định, đúng 06h:00m mỗi ngày sẽ gởi mail thông báo nhắc nhở thì thực hiện như sau:

package test;

import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

/**
 *
 * @author TVD
 */
public class TestTimer {

    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.HOUR_OF_DAY, 6);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.SECOND, 0);
        calendar.set(Calendar.MILLISECOND, 0);

        Date dateSchedule = calendar.getTime();
        long period = 24 * 60 * 60 * 1000;

        TimerTask timerTask = new TimerTask() {
            @Override
            public void run() {
                System.out.println("GỞI MAIL");
            }
        };

        Timer timer = new Timer();
        timer.schedule(timerTask, dateSchedule, period);
    }

}

Kết quả sau khi chạy lệnh trên như sau:

GỞI MAIL

Lời kết: Trong thời gian tới Team Việt Dev sẽ tiếp tục chia sẻ thêm nhiều bài viết trong loạt bài hướng dẫn về ngôn ngữ lập trình Java… miễn phí đến bạn đọc, các bạn nhớ theo dõi kênh để có được những chia sẻ mới nhất.

(Tác giả: Team Việt Dev)

Bình luận