设置任务的超时时长
来源:互联网 发布:数控车床简单编程代码 编辑:程序博客网 时间:2024/05/22 15:21
今天遇到生产者消费者问题,需要消费者在2s内处理队列内取出的任务。
当时瞬间想到要用Future,但我想的是在提交任务到线程池之后,采用定时器计时2s,然后调用future.isDone()方法判断任务是否已经完成。如果完成,则get()结果,否则调用future.cancel(true)来取消任务的执行。
查了下API,发现Future其实根本就有个可以设置超时时长的get()方法:
get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException
- 如有必要,最多等待为使计算完成所给定的时间之后,获取其结果(如果结果可用)。
- 参数:
timeout
- 等待的最大时间unit
- timeout 参数的时间单位- 返回:
- 计算的结果
- 抛出:
CancellationException
- 如果计算被取消ExecutionException
- 如果计算抛出异常InterruptedException
- 如果当前的线程在等待时被中断TimeoutException
- 如果等待超时
0 0
- 设置任务的超时时长
- Spring下设置CXF的WebService客户端超时时长
- 设置CXF的WebService客户端超时时长
- 设置CXF的WebService客户端超时时长
- EAS后台事务的超时时长如何设置?
- Spring下设置CXF的WebService客户端超时时长
- 设置CXF的WebService客户端超时时长
- Linux设置sudo会话密码的超时时长
- CXF 客户端,设置超时时长
- Spring下设置CXF的WebService客户端超时时长 配置
- ASP.NET设置session超时时长的4中方法
- JS设置超时时将被挂起
- 计算在每个Fragment里面的耗时时长
- pl/sql建JOB时时间的一些设置
- Nhibernate中的连接超时时事务回滚引发异常的处理方法
- 设置session时长,超时间需重新登录
- STM32定时器定时时长计算公式
- 当会话超时时重定向
- Linux设备模型分析之device(基于3.10.1内核)
- IOS UI结构分析
- [水]ZOJ1284 POJ1528
- Hardwood Species
- POJ 1321 棋盘问题
- 设置任务的超时时长
- linux内核部件分析(八)——设备驱动模型之bus
- 耿建林视频前传
- 03-4. 成绩转换(15)
- POJ 2230 欧拉回路
- 如何给ActiveX控件添加“事件”“属性”“标准事件”“自定义事件”等一些相关操作
- cocos2d-x像素碰撞检测
- HDU 4925 Apple tree
- hdu 4416 Good Article Good sentence (后缀数组)