在Android中,CountDownLatch
是一個同步輔助類,它允許一個或多個線程等待直到一組操作完成。CountDownLatch
并不支持直接設置時間間隔。但是,你可以使用Handler
和Runnable
來實現時間間隔的功能。
以下是一個使用Handler
和Runnable
實現時間間隔的示例:
import android.os.Handler;
import android.os.Looper;
public class CountdownTimer {
private Handler handler;
private Runnable runnable;
private long interval;
private long startTime;
private int count;
public CountdownTimer(long interval, int count) {
this.interval = interval;
this.count = count;
this.handler = new Handler(Looper.getMainLooper());
this.runnable = new Runnable() {
@Override
public void run() {
if (count > 0) {
// 執行你的操作
// ...
// 更新計數器和時間間隔
count--;
startTime += interval;
// 重新調度Runnable
handler.postDelayed(this, interval);
} else {
// 計數器為零,取消所有延遲的任務
handler.removeCallbacks(runnable);
}
}
};
}
public void start() {
startTime = SystemClock.elapsedRealtime();
handler.postDelayed(runnable, interval);
}
public void cancel() {
handler.removeCallbacks(runnable);
}
}
要使用這個CountdownTimer
類,你可以這樣做:
CountdownTimer countdownTimer = new CountdownTimer(1000, 5); // 設置時間間隔為1000毫秒(1秒),共執行5次
countdownTimer.start();
這個示例中的CountdownTimer
類會在每個時間間隔(1秒)執行一次Runnable
中的操作,直到計數器(count)變為零。你可以根據需要修改這個類以滿足你的需求。