Executor executor=Executors.newSingleThreadExecutor();
FutureTask<String> future=new FutureTask<String>(new Callable<String>() {
public String call() throws Exception {
return 方法;
}
});
executor.execute(future);
try{
String result=future.get(1, TimeUnit.SECONDS);
System.out.println(result);
}catch (InterruptedException e) {
System.out.println("方法执行中断");
future.cancel(true);
}catch (ExecutionException e) {
System.out.println("Excution异常");
future.cancel(true);
}catch (TimeoutException e) {
System.out.println("方法执行时间超时");
future.cancel(true);
}