首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java 判断步骤调用是否超时 设置方法调用的超时时间

2013-07-16 
java 判断方法调用是否超时 设置方法调用的超时时间/**?*??*/package test.future?import java.util.conc

java 判断方法调用是否超时 设置方法调用的超时时间
/**?*??*/package test.future;?import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.Executor;import java.util.concurrent.Executors;import java.util.concurrent.FutureTask;import java.util.concurrent.TimeUnit;import java.util.concurrent.TimeoutException;??/**?* 作者:?* 时间:?* 说明:程序执行中,调用方法,方法的执行时间超时的测试?*/public class MethodOver {?public static void main(String[] args) {Executor executor=Executors.newSingleThreadExecutor();FutureTask<String> future=new FutureTask<String>(new Callable<String>() {public String call() throws Exception {// TODO Auto-generated method stubMethodOver m=new MethodOver();return m.getValue();}});executor.execute(future);try{String result=future.get(1, TimeUnit.SECONDS);System.out.println(result);}catch (InterruptedException e) {// TODO: handle exception?? System.out.println("方法执行中断");??// future.cancel(true);}catch (ExecutionException e) {?System.out.println("Excution异常");// TODO: handle exceptionfuture.cancel(true);}catch (TimeoutException e) {// TODO: handle exception?System.out.println("方法执行时间超时");//future.cancel(true);}System.out.println("sas");}public String getValue(){try{Thread.sleep(500);}catch (Exception e) {?e.printStackTrace();// TODO: handle exception}return "ssssssssssssssss";}}

热点排行