how to add timeout to a function in java code example

Example: timeout java

ExecutorService executor=Executors.newSingleThreadExecutor();
Future<ReturnType> future=executor.submit(task);
try{
	ReturnType result=future.get(1,TimeUnit.SECONDS);
	//task successful
}catch(TimeoutException e){
	//timeout
	future.cancel(true);
}catch(InterruptedException e){
	//current thread was interrupted during task execution
	Thread.currentThread().interrupt();
}catch(ExecutionException e){
	//task threw Exception
	throw e.getCause();
}