• Thứ Sáu, 15/12/2006 08:25 (GMT+7)

    Hàm trong Java thực hiện tự động các thao tác định trước

    Câu hỏi :
    Xin hướng dẫn các hàm trong Java có thể kiểm tra ngày giờ qui định và thực hiện tự động các thao tác định trước. Ví dụ chương trình qui định đến 10 giờ ngày 6/1/2006 thì gởi các thư đến một danh sách người nhận đã định trước. 


    Trả lời :

    Bản thân Java chỉ cung cấp các lệnh thực thi cơ bản, còn việc kiểm tra ngày/giờ qui định (hay 1 chức năng phổ dụng nào đó) thường được thực hiện trong thư viện lập trình đi kèm chương trình dịch. Thí dụ nếu bạn lập trình bằng Java, bạn có thể định nghĩa class MyTimer chuyên giám sát thời gian, khi nào đúng giờ qui định thì thực thi công việc qui định như sau:
     public class MyTimer extends Thread {
     long milis;
     final int QT=10000; //kiem tra dinh ky 10s
     //constructor của class MyTimer
     MyTimer (long t) {
     super();
     milis = t;
     }
     //tác vụ miêu tả hoạt động của MyTimer
     public void run() {
     for (; ; ) { //lặp kiểm tra định kỳ QT ms
     try {
     sleep(QT);
     } catch (InterruptedException ex) {}
     //xác định giờ hiện hành
     long now = System.currentTimeMillis();
     //nếu trùng hoặc vượt quá giờ hẹn thì dừng vòng for
     if (now >= milis) break;
     }
     //thực hiện gửi e-mail đến các đối tác.
     System.out.println('Da toi gio gui e-mail den cac doi tac');
     }
     }
     Và trong chương trình Java của bạn, hãy viết đoạn code sau ở vị trí thích hợp:
     import java.util.Calendar;
     Calendar dst = Calendar.getInstance();
     dst.set(2006, Calendar.OCTOBER, 24, 11, 55, 0);
     //tạo 1 Timer hẹn giờ thực hiện gửi e-mail
     MyTimer mt = new MyTimer(dst.getTimeInMillis());
     mt.start();
     

    Chuyên mục: Lập trình