加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java:如何确保接口方法不比X花费更多时间?

发布时间:2020-12-14 05:46:10 所属栏目:Java 来源:网络整理
导读:我有一个接口方法boolean right(),如果它在一秒钟内没有“回答”,它应该返回false. 解决方法 是的,这可以用例如 java.util.concurrent.FutureV (表示类型V的异步计算结果的标准接口),结合方法 get(long timeout,TimeUnit unit) .除其他异常外,该方法可能抛出
我有一个接口方法boolean right(),如果它在一秒钟内没有“回答”,它应该返回false.

解决方法

是的,这可以用例如 java.util.concurrent.Future<V>(表示类型V的异步计算结果的标准接口),结合方法 get(long timeout,TimeUnit unit).除其他异常外,该方法可能抛出TimeoutException,但在正常执行时返回计算结果.

在这种情况下,您需要一个Future< Boolean>,在try-catch块中使用get(1,TimeUnit.SECONDS),根据您的规范处理TimeOutException.

可用的具体实现是FutureTask<V>SwingWorker<T,V>.如果这是在Swing应用程序的上下文中,那么您将要使用后者.

也可以看看

> Effective Java 2nd Edition,Item 68:首选执行程序和任务到线程
> Concurrent Programming with J2SE 5.0
> Java Tutorials/Concurrency
> Java Tutorials/Swing/How to use Threads – 如果您使用Swing,请阅读重要内容!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读