/**
*
*/
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";
}
}
相关推荐
我们项目中的一个样例,用PB调用我们项目组的AXIS2写的WEBSERVICE。运行需要微软MSSOAP30,由于解决超时费了我很多时间,希望解决朋友们的问题。
Java 调用系统本地命令,通过封装好的类可以直接获取命令执行的返回值和返回信息。并且可以设置超时时长,防止命令阻塞。
android串口调用,使用c开发的,可以设置串口超时。比谷歌的串口demo好(谷歌的IO堵塞模式),也可以使用堵塞时读取不超时。
Java程序执行超时——Future接口介绍
主要介绍了Java编程Webservice指定超时时间代码详解,简单介绍了webservice,然后分享了通过使用JDK对Webservice的支持进行Webservice调用实现指定超时时间完整示例,具有一定借鉴价值,需要的朋友可以参考下。
Java SpringBoot实现调用OpenAI ChatGPT的相关接口教程.zip
Axis2教程和java调用webservice的各种方法总结
定义全局线程池,将用户的请求放入自定义队列中,排队等候线程调用,等待超时则自动取消该任务,实现超时可取消的异步任务
主要介绍了SpringBoot设置接口超时时间的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
传入的参数为demo02的sleep时间, demo01的请求超时时间为1秒, 这时候demo01出现超时异常, 直接进入补偿处理 操作2. 停止demo02, 请求demo01,出现网络异常, demo01会执行三次重试后在进行补偿处理
Zabbix调用脚本超时解决方案.docx
java调用ffmpeg转换视频,并读取转换后视频的分辨率、大小以及时长。主要参考http://blog.sina.com.cn/s/blog_a5116c670102wiwj.html 的代码方式。步骤: 1.研究java如何调用外部程序 2.研究ffmpeg转换视频格式的...
EJB超时调用,EJB超时调用,EJB超时调用,EJB超时调用
网络请求必然有超时的可能性,因此我们必须考虑到这三点:首先,框架设置的默认超时是否合理;其次,考虑到网络的不稳定,超时后的请求重试是一个不错的选择,但需要考虑服务端接口的幂等性设计是否允许我们重试;...
主要介绍了C++设置超时时间的简单实现方法,涉及系统函数setsockopt对套接口的操作,具有一定的实用价值,需要的朋友可以参考下
变相的实现connect的超时,我要讲的就是这个方法,原理上是这样的: 1.建立socket 2.将该socket设置为非阻塞模式 3.调用connect() 4.使用select()检查该socket描述符是否可写(注意,是可写) 5.根据select()...
附带超时功能的system函数,windows版本。 DWORD system_timeout(char* cmd, int timeout)
发现一个问题,调用 微信官方的服务端接口超时 ,比如这个接口,https://api.weixin.qq.com/sns/jscode2session ,因为我们小程序登录的时候,会在自己server端调用微信的API,这个接口超时,导致我们的登录流程也就...
NULL 博文链接:https://chenhua-1984.iteye.com/blog/379619
本文实例讲述了php中curl超时设置方法。分享给大家供大家参考。具体实现方法如下: 访问HTTP方式很多,可以使用curl, socket, file_get_contents() 等方法。 在访问http时,需要考虑超时的问题。 CURL访问...