java代码经常超时,java 超时机制实现

java 方法 执行超时处理

java 1.5以上的Future类可以执行超时处理。

从网站建设到定制行业解决方案,为提供网站设计、成都网站制作服务体系,各种行业企业客户提供网站建设解决方案,助力业务快速发展。成都创新互联将不断加快创新步伐,提供优质的建站服务。

jdk1.5自带的并发库中Future类中重要方法包括get()和cancel(),get()获取数据对象,如果数据没有加载,就会阻塞直到取到数据,而 cancel()是取消数据加载。另外一个get(timeout)操作,表示如果在timeout时间内没有取到就失败返回,而不再阻塞。

代码如下:

import java.util.concurrent.Callable;

import java.util.concurrent.ExecutionException;

import java.util.concurrent.ExecutorService;

import java.util.concurrent.Executors;

import java.util.concurrent.TimeUnit;

import com.sun.corba.se.impl.orbutil.closure.Future;

import com.sun.corba.se.impl.orbutil.threadpool.TimeoutException;

public class ThreadTest {  

public static void main(String[] args) throws InterruptedException,  

ExecutionException {  

final ExecutorService exec = Executors.newFixedThreadPool(1);  

CallableString call = new CallableString() {  

public String call() throws Exception {  

//开始执行耗时操作  

Thread.sleep(1000 * 5);  

return "线程执行完成.";  

}  

};  

try {  

FutureString future = exec.submit(call);  

String obj = future.get(1000 * 1, TimeUnit.MILLISECONDS); //任务处理超时时间设为 1 秒  

System.out.println("任务成功返回:" + obj);  

} catch (TimeoutException ex) {  

System.out.println("处理超时啦....");  

ex.printStackTrace();  

} catch (Exception e) {  

System.out.println("处理失败.");  

e.printStackTrace();  

}  

// 关闭线程池  

exec.shutdown();  

}  

}

java项目页面为什么会超时?

你说的是请求没有响应吧,首先检查服务器有没有错误的log,如果是调试,看看是不是存在断点,如果不是这两种情况,那么代码肯定是存在一定的问题,需要细心的排除代码哪里停住了,一般不会是直接的执行错误,执行错误页面会返回错误的页面比如404,500等等

OJ一直报我错误,用java老是超时,用C++不会,求问各位大神有没有什么好的方法(java代码修改方面)?

Java中的Scanner运行特别慢,建议使用BufferedReader与StringTokenizer来代替Scanner,速度会提高很多,用Java刷OJ超时是很正常的,速度真的是太慢了

centos7连final时显示Java超时

ip网段不一致。

1、centos7这款社区企业操作系统在连final时显示Java超时可能是ip网段不一致导致的。

2、需要在编辑中的虚拟网络编辑器中,点击更改设置里的vmNet8中的net设置查看网关,连接为一致即可解决。

java httpclient请求总是超时

httpclient 要求完成的URL

例如你在代码中

HttpPost post = new HttpPost("http://网址");

才可以正常访问,否则可能会出访问不到


本文标题:java代码经常超时,java 超时机制实现
当前链接:http://azwzsj.com/article/hdhhjc.html