import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; public class Test { public static void main(String[] args) throws InterruptedException, ExecutionException, TimeoutException { ExecutorService executor = Executors.newSingleThreadExecutor(); Future future = executor.submit(new Runnable() { @Override public void run() { try { TimeUnit.DAYS.sleep(1); } catch (InterruptedException e) { e.printStackTrace(); } } }); try { future.get(5, TimeUnit.SECONDS); } catch (InterruptedException e) { future.cancel(true); throw e; } catch (TimeoutException e) { future.cancel(true); throw e; } } }
wtorek, 17 marca 2015
How to invoke java method with a time limit?
Java has no handy way to do so. You can always use Thread to run a method and after some time out interrupt it.
Subskrybuj:
Komentarze do posta (Atom)
Brak komentarzy:
Prześlij komentarz