import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
executorService.schedule(() -> _f(42), delayInSeconds, TimeUnit.SECONDS);
Thread t = new Thread(() -> {
try {
sleep(30_000);
f(42);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
});
t.start();
my $thr = threads->create(sub { sleep(30); f(42); });
$thr->join()
my $thr = threads->create(sub { sleep(30); f(42); });
$thr->detach();
local $SIG{ALRM} = sub { f(42) };
alarm 30;
sleep(30); f(42);
(do (Thread/sleep 30000) (f 42))
Task.Delay(TimeSpan.FromSeconds(30)) .ContinueWith(_ => f(42));
Future.delayed(const Duration(seconds: 30), () => f(42));
timer := time.AfterFunc( 30*time.Second, func() { f(42) })
go func() { time.Sleep(30 * time.Second) f(42) }()
sleep(30*1000) f(42)
let id = setTimeout(f, 30000, 42);
ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor(); executorService.schedule(() -> _f(42), delayInSeconds, TimeUnit.SECONDS);
Thread t = new Thread(() -> { try { sleep(30_000); f(42); } catch (InterruptedException e) { throw new RuntimeException(e); } }); t.start();
my $thr = threads->create(sub { sleep(30); f(42); }); $thr->join()
my $thr = threads->create(sub { sleep(30); f(42); }); $thr->detach();
local $SIG{ALRM} = sub { f(42) }; alarm 30;
timer = threading.Timer(30.0, f, args=(42,) ) timer.start()
Thread.new do sleep 30 f(42) end
sleep(Duration::new(30, 0)); f(42);
(f future: 30 "seconds" * 1000) value: 42.