Tôi muốn có một lớp thay đổi các biến riêng của riêng mình sau mỗi 2 giây. Tôi biết rằng nếu tôi làm điều gì đó nhưTạo lời nhắc hẹn giờ lặp lại trong Java
import java.util.Timer;
//...
Timer timer;
//...
timer.schedule(new ChangeSomething(), 2000);
Nó sẽ thực hiện ChangeSomething()
sau 2 giây, liệu có cách nào để nói nó để làm một cái gì đó mỗi 2 giây, hoặc, Nếu tôi đặt bên ChangeSomething()
timer.schedule(new ChangeSomething(), 2000);
nó sẽ hoạt động?
Mặt khác, timer.cancel()
chính xác là gì?
Những gì tôi không hiểu về timer.cancel(), là cho dù đó là cần thiết để làm sau khi tôi thực hiện một nhiệm vụ đó là được dự kiến chỉ một lần để đảm bảo rằng nó sẽ không được thực hiện một lần nữa hay không? – SIMEL
Javadoc cho 'Timer' cho biết điều này là không cần thiết và chuỗi exeecution của timer sẽ chấm dứt. Tuy nhiên, nó đặc biệt nói rằng điều này có thể mất một thời gian dài tùy ý và 'cancel()' có thể được sử dụng để chấm dứt nó nhanh hơn. (Đã dán đoạn có liên quan từ Javadoc vào câu trả lời). – hmjd