`
k1121
  • 浏览: 181049 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

    博客分类:
  • 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 stub
MethodOver 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 exception
future.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";
}
}
分享到:
评论

相关推荐

    android串口调用,使用c开发的,可以设置串口超时

    在Android平台上进行串口通信是实现设备间交互...总之,通过C语言开发的串口调用并设置超时,可以提供更加可控的通信体验,避免因长时间等待数据而导致的程序阻塞。这种方法在需要高效、实时的串口交互场景中特别有用。

    Java线程超时监控

    当我们提交一个任务到`ExecutorService`时,它会返回一个`Future`对象,我们可以利用这个对象来检查任务是否完成或者设置超时。 ```java ExecutorService executor = Executors.newSingleThreadExecutor(); Future...

    PB6,PB7,PB8,PB9,PB10,PB11调用WEBSERVICE,并解决超时问题

    打开这个文件,开发者可以查看和编辑与Web服务调用相关的代码和设置,从而理解如何在PowerBuilder中实现对AXIS2 Web服务的调用,以及如何处理超时问题。 总结以上信息,我们可以知道这个项目涉及使用PowerBuilder的...

    Java编程Webservice指定超时时间代码详解

    值得注意的是,超时时间设置为0表示永不超时,这在某些情况下可能是必要的,但在大多数生产环境中,为了防止程序卡死,设定合理的超时时间是非常重要的。 总结来说,Java中的Webservice调用指定超时时间主要涉及到`...

    java通过线程控制程序执行超时(新)

    Future对象可以用来检查任务是否完成,如果超过预定时间,可以调用`cancel()`方法来取消任务。 ```java ExecutorService executor = Executors.newSingleThreadExecutor(); Future&lt;String&gt; future = executor....

    Java调用WebService接口的方法

    本文将深入探讨如何使用Java调用WebService接口,以实例分析有参方法Add的使用技巧。 首先,我们需要了解WebService的基础知识。WebService是一种基于开放标准(如SOAP、WSDL和UDDI)的Web应用程序,它能够通过HTTP...

    service_java接口远程调用_get、post、带参数远程调用_

    本篇文章将详细讲解如何使用Java实现GET和POST方法的远程接口调用,以及如何处理带有参数的情况。 首先,我们要了解HTTP协议中的GET和POST请求。GET请求通常用于获取资源,其参数包含在URL中;而POST请求常用于提交...

    带超时,返回值,返回信息的Java系统命令调用

    Java 调用系统本地命令,通过封装好的类可以直接获取命令执行的返回值和返回信息。并且可以设置超时时长,防止命令阻塞。

    EJB超时调用

    1. **配置超时时间**:在EJB的部署描述符(ejb-jar.xml或weblogic-ejb-jar.xml等)中,可以设置方法调用的超时时间。例如,对于Stateless Session Bean,可以在元素内添加元素来指定超时时间(以分钟为单位)。 2. ...

    java通过线程控制程序执行超时

    例如,我们可能需要在超时时停止一个正在执行的长时间方法,这可以通过反射获取该方法的`Method`对象,并调用`invoke()`方法来实现。 总结来说,Java通过线程和定时器可以有效地控制程序执行超时,结合反射可以在...

    java httpclient设置超时时间和代理的方法

    Java HTTPClient 设置超时时间和代理的方法 Java HTTPClient 是一个功能强大且灵活的 HTTP 客户端库,提供了许多实用的功能来处理 HTTP 请求。其中,设置超时时间和代理是两个非常重要的配置项,本文将详细介绍如何...

    java调用api的方法

    - OkHttp:创建OkHttpClient实例,使用Request.Builder构建请求,设置Header,调用enqueue或execute方法执行请求,然后通过Callback处理响应。 4. **处理认证和安全**:许多API需要身份验证,如OAuth2、Basic Auth...

    SpringBoot设置接口超时时间的方法

    SpringBoot 设置接口超时时间的方法 SpringBoot 是一个基于 Java 的开源框架,由 Pivotal 团队开发,旨在简化基于 Java 的企业级应用程序的开发。 在 SpringBoot 中,设置接口超时时间是非常重要的,因为它可以避免...

    Java-远程方法调用RMI参数详解.docx

    Java 远程方法调用(Remote Method Invocation,RMI)是一种在分布式环境中调用对象方法的技术,它使得Java应用程序能够透明地调用运行在不同 JVM 上的远程对象的方法。RMI 包含了一系列的参数,这些参数对于优化...

    java后台调用HttpURLConnection类模拟浏览器请求实例(可用于接口调用)

    在实际应用中,可能需要添加更多的配置,比如设置请求头(如`Content-Type`,`Accept`等)、超时时间、处理重定向等。此外,为了防止内存泄漏,务必确保在操作完成后关闭所有流和连接。 总的来说,`...

    java调用webapi

    本压缩包包含了相关工具和示例,方便开发者理解和实践Java调用WebAPI的方法。 首先,我们看到压缩包中包含了一个名为`httpcomponents-client-4.2.5-bin.tar.gz`的文件,这是Apache HttpClient库的一个版本。...

    java 访问网络 下载文件 爬虫 超时处理解决方案

    1. **设置超时**:在创建`HttpURLConnection`时,通过`setConnectTimeout()`和`setReadTimeout()`方法设置连接和读取超时时间。 2. **使用线程**:将网络操作封装在一个独立的线程中,利用`join()`方法加入主线程并...

    BlockingQueue队列自定义超时时间取消线程池任务

    在超时后,我们可以调用`cancel`方法尝试取消任务,但要注意的是,只有当任务尚未开始执行或者正在执行的任务可以被中断时,`cancel`方法才能成功。 以下是一个简单的示例: ```java ExecutorService executor = ...

    Java程序执行超时——Future接口介绍

    Java程序执行超时——Future接口介绍

    Java实现异步调用

    在Java编程中,异步调用是一种非常重要的技术,它允许程序在等待某个耗时操作完成的同时,继续执行其他任务,从而提高系统整体的响应性和效率。本篇将深入探讨如何在Java中实现异步调用,以及相关的核心概念和技术。...

Global site tag (gtag.js) - Google Analytics