23 Mart 2015 Pazartesi

Timer Sınıfı

Giriş
Şu satırı dahil ederiz.
import java.util.Timer;
Bu sınıfla 5 dakika sonra şu görevi yap, veya 5 dakika sonra bu görevi yap ve her 10 dakikada bir tekrarla tarzında işler yapılabiliyor. Alternatif olarak ScheduledExecutorService kullanılabilir.

constructor
Şöyle yaparız.
Timer timer = new Timer();
schedule metodu - Bir seferlik
Belirtilen saatte bir iş çalışsın diye kullanılır. Bu amaç için metoda bir Date nesnesi verilir.
Metodun imzası şöyle
void java.util.Timer.schedule(TimerTask task, Date time)
Şöyle yaparız.
Calendar date = Calendar.getInstance();
date.set(Calendar.HOUR, 9);
date.set(Calendar.MINUTE, 0);
timer.schedule(new MyTask(), date.getTime()); 
schedule metodu - periyodik ve fixed-delay
Her on saniyede bir 1 saat boyunca bir iş çalışsın diye kullanılır. Bu amaç için metoda delay ve period verilir. Şöyle yaparız
timer.schedule(new MyTask(), 10*1000, 60*60*1000);
scheduleAtFixedRate - periyodik ve fixed-rate
1. Belirtilen zamanda başlayıp her 2 saniyede bir çalıştırmak için şöyle yaparız.
timer.scheduleAtFixedRate(new MyTask(), new Date(), 2000);
2. Belirtilen gecikme ile başlayıp belirtilen periyodda çalışır. Metodun imzası şöyle
public void scheduleAtFixedRate(TimerTask task,
                                long delay,
                                long period)
1 saniye sonra başlayıp ve her saniye çalıştırmak için şöyle yaparız.
timer.scheduleAtFixedRate(QuestionTick,1000,1000);