java方法执行超时关闭


  1. Callable<String> task = new Callable<String>() {
  2.             @Override
  3.             public String call() throws Exception{
  4.                 //执行耗时代码
  5.                 Thread.sleep(10000);
  6.                 return "success";
  7.             }
  8.         };
  9.         ExecutorService executorService = Executors.newSingleThreadExecutor();
  10.         Future<String> future = executorService.submit(task);
  11.         try {
  12.             //设置超时时间
  13.             String rst = future.get(5,TimeUnit.SECONDS);
  14.             System.out.println(rst);
  15.         } catch (TimeoutException e) {
  16.             System.out.println("执行超时");
  17.         } catch(Exception e){
  18.             System.out.println("获取数据异常," + e.getMessage());
  19.         }finally {
  20.             executorService.shutdown();
  21.         }


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM