This commit is contained in:
Flare Microsystems
2024-03-06 14:24:23 -08:00
parent 0fb5900a78
commit 3e225d4078
20 changed files with 1370 additions and 103 deletions

View File

@@ -0,0 +1,37 @@
package com.flaremicro.flaretv.visualforecast;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import com.flaremicro.flaretv.visualforecast.interfaces.Tickable;
public class Executor {
private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
private final Tickable tickable;
private final long sleepNanos;
//private long nextTick = 0;
Executor(Tickable tickable, long sleepNanos) {
this.tickable = tickable;
this.sleepNanos = sleepNanos;
}
Executor(Tickable tickable, int ticksPerSecond) {
this(tickable, (long) ((1 / (double) ticksPerSecond) * 1000000000L));
}
public void end() {
scheduler.shutdown();
}
public void begin() {
scheduler.scheduleAtFixedRate(new Runnable() {
public void run() {
tickable.tick();
}
}, 0, sleepNanos, TimeUnit.NANOSECONDS);
}
}