在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)变为零。你可以根据需要修改这个类以满足你的需求。