ST
setInterval
сигнализирует об архитектурных ошибках в приложенииSize: a a a
ST
setInterval
сигнализирует об архитектурных ошибках в приложенииMB
AG
ST
(async/go-loop []
(async/<! (async/timeout 20000))
(do
"Be careful what are you doing here")
(recur))
MB
(async/go-loop []
(async/<! (async/timeout 20000))
(do
"Be careful what are you doing here")
(recur))
ST
MB
MB
ST
AG
MB
MB
AG
import static java.util.concurrent.TimeUnit.*;
class BeeperControl {
private final ScheduledExecutorService scheduler =
Executors.newScheduledThreadPool(1);
public void beepForAnHour() {
final Runnable beeper = new Runnable() {
public void run() { System.out.println("beep"); }
};
final ScheduledFuture<?> beeperHandle =
scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS);
scheduler.schedule(new Runnable() {
public void run() { beeperHandle.cancel(true); }
}, 60 * 60, SECONDS);
}
}
AG
AG
MB
AG
(let [pool (Executors/newScheduledThreadPool 1 ...)
task (.scheduleAtFixedRate pool
(fn []
(dosomething ...))
0
60
TimeUnit/SECONDS)]
...
СС
ST
import static java.util.concurrent.TimeUnit.*;
class BeeperControl {
private final ScheduledExecutorService scheduler =
Executors.newScheduledThreadPool(1);
public void beepForAnHour() {
final Runnable beeper = new Runnable() {
public void run() { System.out.println("beep"); }
};
final ScheduledFuture<?> beeperHandle =
scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS);
scheduler.schedule(new Runnable() {
public void run() { beeperHandle.cancel(true); }
}, 60 * 60, SECONDS);
}
}