Chúng tôi muốn lên lịch một quá trình java để chạy cho đến một khoảng thời gian cụ thể. Hiện tại tôi đang nghĩ đến việc sử dụng TimerTask
để lên lịch cho quá trình này. Khi bắt đầu mỗi vòng lặp, sẽ kiểm tra thời gian hiện tại và sau đó so sánh với thời gian đã cho và ngừng quá trình nếu thời gian trôi qua. Mã của chúng tôi giống như sau:Lập lịch trình java cho một khoảng thời gian cụ thể với một độ trễ nhất định
import java.util.Timer;
import java.util.TimerTask;
public class Scheduler extends TimerTask{
public void run(){
//compare with a given time, with getCurrentTime , and do a System.exit(0);
System.out.println("Output");
}
public static void main(String[] args) {
Scheduler scheduler = new Scheduler();
Timer timer = new Timer();
timer.scheduleAtFixedRate(scheduler, 0, 1000);
}
}
Có cách tiếp cận nào tốt hơn cho điều này không?
Cảm ơn approach.I có thể thử này. – Anupam
Tôi đã cập nhật câu trả lời bằng một ví dụ. –
Cảm ơn bạn đã lấy mẫu mã. Chúng tôi có thể sẽ đi với ScheduledExecutorService, nhưng bây giờ, các mã trên sẽ làm việc hoàn hảo cho chúng tôi. – Anupam