1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
public class Task {
private static ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(0);
private static ScheduledFuture<?> run;
private static long time = System.currentTimeMillis();
public static void main(String args[]) {
userRunning("User A", time);
}
public static void userRunning(String user, long currentTimeMillis) {
System.out.println(user + " est en Attente");
run = executor.scheduleAtFixedRate(() -> {
long setStartTime = (currentTimeMillis + 5000);
long remainingTime = (long) ((setStartTime - System.currentTimeMillis()) / 1000.0);
if (setStartTime > System.currentTimeMillis()) {
System.out.println((remainingTime%60) + " second(s).!");
} else {
System.out.println("Ok Attente Finis");
run.cancel(false);
}
}, 0, 1000, TimeUnit.MILLISECONDS);
}
} |
Partager