Schedule the execution of f(42) in 30 seconds.
import "time"
timer := time.AfterFunc( 30*time.Second, func() { f(42) })
go func() { time.Sleep(30 * time.Second) f(42) }()
(do (Thread/sleep 30000) (f 42))
using System; using System.Threading.Tasks;
Task.Delay(TimeSpan.FromSeconds(30)) .ContinueWith(_ => f(42));
Future.delayed(const Duration(seconds: 30), () => f(42));
sleep(30*1000) f(42)
let id = setTimeout(f, 30000, 42);
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);
sleep(30); f(42);
use threads;
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;
import threading
timer = threading.Timer(30.0, f, args=(42,) ) timer.start()
Thread.new do sleep 30 f(42) end
use std::time::Duration; use std::thread::sleep;
sleep(Duration::new(30, 0)); f(42);
(f future: 30 "seconds" * 1000) value: 42.
No security, no password. Other people might choose the same nickname.