我是靠谱客的博主 清爽滑板,最近开发中收集的这篇文章主要介绍java中断程序运行,超时中断,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

java中断程序运行,超时中断

public class TimeCount {
final static int MAX_THREADS = 50;
//最大线程数量
final static long timeout = 7200;
//设置超时时间(秒)
public static boolean timec(final DisposeService oldService, final Map map, final String tFlag) {
//线程池
//
private static ExecutorService executorService = Executors.newSingleThreadExecutor();
ExecutorService executorService = Executors.newFixedThreadPool(MAX_THREADS);
boolean check = true;
Callable<String> task = new Callable<String>() {
@Override
public String call() throws Exception {
//执行耗时代码
oldService.submitData(map, tFlag);
return "success";
}
};
Future<String> future = executorService.submit(task);
try {
//设置超时时间
String rst = future.get(timeout, TimeUnit.SECONDS);
System.out.println(rst);
check = true;
} catch (TimeoutException e) {
System.out.println("执行超时");
future.cancel(true); //取消没有执行完的任务,设置为ture说明任务能被中断,否则执行中的任务要完成
check = false;
} catch (Exception e) {
System.out.println("获取数据异常," + e.getMessage());
check = false;
} finally {
executorService.shutdown();
while (true) {
if (executorService.isTerminated()) {
System.out.println("关闭线程池");
break;
}
}
}
return check;
}
}

最后

以上就是清爽滑板为你收集整理的java中断程序运行,超时中断的全部内容,希望文章能够帮你解决java中断程序运行,超时中断所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部