Sen kullanması gereken bir ExecutorService
:
ExecutorService executor = Executors.newSingleThreadExecutor();
Future<Integer> future = executor.submit(new Task());
try {
System.out.println("Started");
Integer retval = future.get(10, TimeUnit.SECONDS)); // you can choose your desired time here
System.out.println("Finished");
} catch (TimeoutException e) {
future.cancel(true);
System.out.println("Timeout happened");
// handle termination here
}
executor.shutdownNow();
Ve Callable
böyle bir şey bakabilirsiniz:
class Task implements Callable<Integer> {
@Override
public String call() throws Exception {
// some code here
return 0;
}
}