对执行方法进行超时控制:
public static boolean executeTimeControlMethod(Runnable runable, long timeout) {
// 创建一个使用单个 worker 线程的 Executor
ExecutorService service = Executors.newSingleThreadExecutor();
//提交一个 Runnable 任务用于执行,跟踪一个或多个异步任务执行状况而生成 Future 的方法。
//submit(Runnable task, T result) task - 要提交的任务 result - 返回的结果
Future result = service.submit(runable, 1);
try {
//get(long timeout, TimeUnit unit) 等待timeout时间之后,检索其结果
//正常的应该返回submit方法传入的result
if (result.get(timeout, TimeUnit.MILLISECONDS) != null) return true;
//也可以通过cancel(boolean mayInterruptIfRunning) 取消对此任务的执行
//当调用 cancel 时,如果调用成功,而此任务尚未启动,则此任务将永不运行。
// 试图停止所有正在执行的活动任务,暂停处理正在等待的任务,并返回等待执行的任务列表。
service.shutdownNow();
} catch (Exception e) {
}
return false;
}
其它我们自己也可以写一个对方法执行超时的控制:
先设一个共享变量,
用一个主线程去睡眠超时时间,用子线程去执行方法体.当子线程运行完成时,
去更改这个共享变量的值(坐一个标记).当主线程继续执行时,判断这个共享变量的值是否有改变,
如果有的话,则说明这个方法已经执行完成..
如果没有改变的话,说明方法执行超时,终止子线程.
分享到:
相关推荐
java通过线程控制程序执行超时(新) 基本数据类型 反射 线程 超时
讲解有关Java中多线程运行时针对单个线程的执行超时监控机制,用于处理单个线程执行控制
任务超时处理是比较常见的需求,Java中对超时任务的处理有两种方式,在文中给大家详细介绍,本文重点给大家介绍Java实现任务超时处理方法,需要的朋友可以参考下
java通过线程控制程序执行超时,多线程,反射
NULL 博文链接:https://z-jls03.iteye.com/blog/1119223
web.xml session 拦截器 三者结合实现登陆超时后自动返回登陆页面
Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...
用java实现本地语音实时采取,然后对接阿里AI语音识别实现,语音识别系统。并内部加载逻辑实现电脑语音控制
Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...
5、超时机制; 6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 ...
5、超时机制; 6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 ...
5、超时机制; 6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 ...
5、超时机制; 6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 ...
5、超时机制; 6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 ...
Jscript实现后台页面无刷新超时自动退出后台的功能,采用倒计时原理,超时时间可以用户自己定制,另外相应鼠标事件,一旦鼠标有操作那么将重新计数,可手动切换是否功能有效。 该程序的目的是为了放置当您打开...
5、超时机制; 6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 ...
5、超时机制; 6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 ...
5、超时机制; 6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 ...
5、超时机制; 6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议,可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 ...