/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.math.BigDecimal;
import java.time.Duration;
import java.time.Instant;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
System.
out.
println( "Running the runnable at " + Instant.
now() ); };
ScheduledExecutorService scheduledExecutorService = Executors.newSingleThreadScheduledExecutor();
scheduledExecutorService.schedule( runnable , 10 , TimeUnit.SECONDS ); // Wait ten seconds before running the runnable.
try
{
Thread.
sleep( Duration.
ofSeconds( 12 ).
toMillis() ); // Wait long enough for the background thread to do its thing. }
{
e.printStackTrace();
}
// Clean-up.
scheduledExecutorService.shutdown();
System.
out.
println( "Done at " + Instant.
now() );
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgppbXBvcnQgamF2YS5tYXRoLkJpZ0RlY2ltYWw7CmltcG9ydCBqYXZhLnRpbWUuRHVyYXRpb247CmltcG9ydCBqYXZhLnRpbWUuSW5zdGFudDsKaW1wb3J0IGphdmEudXRpbC5jb25jdXJyZW50LkV4ZWN1dG9yczsKaW1wb3J0IGphdmEudXRpbC5jb25jdXJyZW50LlNjaGVkdWxlZEV4ZWN1dG9yU2VydmljZTsKaW1wb3J0IGphdmEudXRpbC5jb25jdXJyZW50LlRpbWVVbml0OwoKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCiAgICAgICAgUnVubmFibGUgcnVubmFibGUgPSAoICkgLT4gewogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oICJSdW5uaW5nIHRoZSBydW5uYWJsZSBhdCAiICsgSW5zdGFudC5ub3coKSApOwogICAgICAgIH07CgogICAgICAgIFNjaGVkdWxlZEV4ZWN1dG9yU2VydmljZSBzY2hlZHVsZWRFeGVjdXRvclNlcnZpY2UgPSBFeGVjdXRvcnMubmV3U2luZ2xlVGhyZWFkU2NoZWR1bGVkRXhlY3V0b3IoKTsKICAgICAgICBzY2hlZHVsZWRFeGVjdXRvclNlcnZpY2Uuc2NoZWR1bGUoIHJ1bm5hYmxlICwgMTAgLCBUaW1lVW5pdC5TRUNPTkRTICk7IC8vIFdhaXQgdGVuIHNlY29uZHMgYmVmb3JlIHJ1bm5pbmcgdGhlIHJ1bm5hYmxlLgoKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIFRocmVhZC5zbGVlcCggRHVyYXRpb24ub2ZTZWNvbmRzKCAxMiApLnRvTWlsbGlzKCkgKTsgLy8gV2FpdCBsb25nIGVub3VnaCBmb3IgdGhlIGJhY2tncm91bmQgdGhyZWFkIHRvIGRvIGl0cyB0aGluZy4KICAgICAgICB9CiAgICAgICAgY2F0Y2ggKCBJbnRlcnJ1cHRlZEV4Y2VwdGlvbiBlICkKICAgICAgICB7CiAgICAgICAgICAgIGUucHJpbnRTdGFja1RyYWNlKCk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8vIENsZWFuLXVwLgoJCXNjaGVkdWxlZEV4ZWN1dG9yU2VydmljZS5zaHV0ZG93bigpOwoJCQogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbiggIkRvbmUgYXQgIiArIEluc3RhbnQubm93KCkgKTsKICAgICAgICAKCX0KfQ==