java设置一段代码执行超时时间

java实现延迟/超时/定时 方法获取任务的时候,会拿到队列头部的元素,也就是队列中最早需要被执行的任务,通过getDelay返回值判断任务是否需要被立刻执行,如果需要的话,就返回任务,如果不需要就会等待这个任务到延迟时间的剩余时间,当时间到了就会将任务返回。,list数据类型,被称为目标队列,这个里面存放的任务都是已经到了延迟时间的,可以被消费者获取的任务,所以上面demo中的RBlockingQueue的take方法是从这个目标队列中获取到任务的。这里面就有这么一个channel叫做。图中channel理解成MQ中的topic。 阅读详情

jdk1.5自带的并发库中Future类就能满足这个需求。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);  

        Callable<String> call = new Callable<String>() {  
            public String call() throws Exception {  
                //开始执行耗时操作  
                Thread.sleep(1000 * 5);  
                return "线程执行完成.";  
            }  
        };  

        try {  
            Future<String> 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();  
    }  
}  
限制方法执行时间 CountTimeToRun1.0 这是MyEclipse下src文件夹的源代码,包含了解决方法的源代码和两个DEMO的源代码。通过巧妙的利用线程的运行时错误和设定默认的线程Exception处理方法,达到控制某一段代码运行时间的目的,并且能够正确的获取该段代码的返回对象。只是现在比较复杂,使用起来还比较麻烦,但两个DEMO介绍的都比较详细 立即下载

相关推荐

YOLOv8模型RKNN量化策略与RK3588部署实战解析

本文详细解析了YOLOv8模型在RK3588平台上的RKNN量化策略与部署实践。通过对比INT8和FP16量化方式的性能差异,结合实际测试数据,为开发者提供了从模型导出、转换到板端部署的完整解决方案,帮助实现高效的边缘AI应用部署。

oil88的博客 1098

JAVA中监控一个方法的执行时间,超时了做处理

最近开发项目遇到一个需求,需要对一个sql进行监控,超时10分钟需要预警发送邮件提醒,刚开始考虑是做sql监控,但这个超时了还需要继续执行,不能停下来,而且做sql监控我只能知道这个sql执行了多久,这个是在执行完毕以后才可以知道总时长的,那怎么去知道这个sql执行有没有超过10分钟呢? 这里我提供一种思路是从java层面去监控这个方法执行时间是否超过10分钟,如果大家有更好的方法可以在评论区评论 解析:这里采用FutureTask开启一个线程调用jdbc执行方法,主方法在10分钟后进行查询是否完成,根据i

sinat_36483049的博客 4684

用Python玩转共现分析:从NLTK到热力图可视化(附完整代码)

本文详细介绍了如何使用Python进行文本共现分析,从NLTK基础文本处理到构建共现矩阵,并实现热力图可视化。通过完整的代码示例,帮助数据分析师和开发者掌握这一揭示词语间关联网络的实用NLP技术,快速从文本中提取语义关系和主题结构。

weixin_29313817的博客 350

java 监听超时_java 方法的执行时间监控 设置超时(Future 接口)

public static String main2(final String sql,final int a) {String obj = null;System.out.println("等待执行的sql==" + sql);final ExecutorService executorService2 = Executors.newFixedThreadPool(1);Callable cal...

weixin_39759060的博客 665

TransUnet官方代码训练自己数据集(彩色RGB3通道图像的分割)

官方代码:https://github.com/Beckschen/TransUNet 目的:训练5个类别的汽车部件分割任务(测试在另一篇博客中) 实现效果: 1. github下载代码,并解压。 项目里的文件可能跟你下载的不一样,不急后面会讲到! 2. 配置数据集(尽最大努力还原官方数据集的格式)。 通常自己手上的数据集分images和labels文件夹,分别存放着原始图像和对应的mask图像,如下图所示; mask图像中的像素有0,1,2,3,4 分别代表背景,车身,轮子,车灯,窗户,一共五个

qq_37652891的博客 5万+

【算力网络】算力知识

尽管算力这个词在近年来很“火”,但其背后的含义,却很少有人真正了解

qq_42809645的博客 1万+

java 监听超时_java线程 如何监控用户操作超时

package org.corey.timer;import java.awt.HeadlessException;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;import java.awt.event.KeyListener;import...

weixin_33205791的博客 446

【YOLOv8科研级优化】基于YOLOv9的GELAN模块重构C2f架构,显著提升模型精度与推理效率

打开确保模型解析器能识别GELANBlock模块。通过将YOLOv9的GELAN模块集成到YOLOv8的C2f模块中,我们实现了一个“强特征表达+高效计算”的目标检测模型。这个改进不仅在工程上能提升复杂场景下的检测效果,更在科研上提供了“多分支特征融合”的创新思路——这种思路可以延伸到其他检测网络(如Faster R-CNN、SSD)的改进中,帮你在论文中打造独特的研究点。

FJN110的博客 112

java监听时间_Java时间监听的四种实现方式

packageTT;importjava.awt.Color;importjava.awt.Container;importjava.awt.FlowLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JDial...

weixin_39622398的博客 1659

基于STM32、HAL库的GZP6816D气压传感器 驱动程序设计

测量范围:0-16kPa(可根据型号不同有变化)工作电压:1.8V-3.6V。高精度:±1% FS。

corlin6688的博客 217

OpenStack详解、排错、经验总结

第1章 Openstack简介 1.1 计算(Compute):Nova。 一套控制器,用于为单个用户或使用群组管理虚拟机实例的整个生命周期,根据用户需求来提供虚拟服务。负责虚拟机创建、开机、关机、挂起、暂停、调整、迁移、重启、销毁等操作,配置CPU、内存等信息规格。自Austin版本集成到项目中。 1.2 对象存储(Object Storage):Swift。 一套用于在大规模可扩展系统中通过内置冗余及高容错机制实现对象存储的系统,允许进行存储或者检索文件。可为Glance提供镜像存储,为Cinder提供

weixin_40548182的博客 1974

**java设置一段代码执行超时时间(转)**

引用网址:https://blog.youkuaiyun.com/a9529lty/article/details/42711029 前段时间在搞一个批量处理程序,涉及到多线程操作。但是后台服务很不给力,并发一大常常就挂了,长时间不给返回,导致我的程序也挂死在那里…… 那么能不能设置一段代码执行的超时时间呢?如果处理超时就忽略该错误继续向下执行。 可是在网上搜了大半天,找到的都是无用的代码,根本不能用。 查了...

u011494923的博客 1万+

STM32入门教程:智能汽车控制

智能汽车是近年来快速发展的领域之一,它结合了嵌入式系统、传感器和通信技术,通过智能化的控制算法和决策系统实现自主导航、避障、环境感知等功能。在这篇教程中,我们将以 STM32 微控制器为核心,通过编写代码案例来介绍智能汽车的控制原理和实现方法。步骤三:决策与执行 最后,我们根据传感器数据做出相应的决策,并执行相应的动作。案例:智能汽车的避障功能 在这个案例中,我们将实现智能汽车的避障功能。感知系统负责感知汽车周围的环境,包括障碍物的距离、车辆的角度等信息。下面我们通过一个具体的案例来演示代码的编写。

2401_85258012的博客 929

【Java】线程超时(设置一段代码执行超时时间)

[引用原文:https://blog.youkuaiyun.com/educast/article/details/51864912] 代码 public class ThreadTest { public static void main(String[] args) throws InterruptedException, ExecutionException { final ExecutorService exec.

- 2773

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

java设置页面超时时间_java设置一段代码执行超时时间

前段时间在搞一个批量处理程序,涉及到多线程操作。但是后台服务很不给力,并发一大常常就挂了,长时间不给返回,导致我的程序也挂死在那里……那么能不能设置一段代码执行的超时时间呢?如果处理超时就忽略该错误继续向下执行。可是在网上搜了大半天,找到的都是无用的代码,根本不能用。查了大量资料后发现,java早已经给我们提供了解决方案。jdk1.5自带的并发库中Future类就能满足这个需求。Future类中重...

weixin_30011833的博客 583

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

java 执行代码超时_java设置一段代码执行超时时间

Java中部分代码进行超时处理查了大量资料后发现,java早已经给我们提供了解决方案。jdk1.5自带的并发库中Future类就能满足这个需求。Future类中重要方法包括get()和cancel()。get()获取数据对象,如果数据没有加载,就会阻塞直到取到数据,而 cancel()是取消数据加载。另外一个get(timeout)操作,表示如果在timeout时间内没有取到就失败返回,而不再阻塞...

weixin_39815410的博客 586

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

java设置一段代码执行的超时时间的简单方法

最近有需求说设置es搜索查询不能超时配置文件的毫秒数,所以正好使用的ExecutorService类,下面就 ExecutorService使用做记录: ResultData resultData = null;     ExecutorService executor = Executors.newCachedThreadPool();     FutureTask fut

陈守璐的专栏 7959

java设置一段代码执行的超时时间的简单方法 间接实现获取Connection超时问题

博客分类:  Java 工作中问题 javathreadconnection超时  最近有个需求, 当DB压力过大时获取Connction的时间过慢长时间不返回的话, 就不连接DB了, 研究了好久,DataSource里面的setLoginTimeOut 根本没法用, 刚开始一直纠结在大google搜索"java get connection 超时"答案上, 但始终找不到答案,

lichunjian123的专栏 1545

java超时后重新执行_Java设置一段代码执行的超时时间

最近在项目中,需要调用其他APP提供的AIDL接口,项目要求必须执行完该操作,才能执行后续的程序,所以必须设置代码执行的超时时间,找到如下代码可以满足需求:public class ThreadTest {public static void main(String[] args) throws InterruptedException,ExecutionException {final Exec...

weixin_39740419的博客 526
上一篇: jquery点击滑动到某个位置
下一篇: mysql的一些基础配置
AiHubMax
博客等级 码龄15年 27粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值