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