栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

是否应该将Callable优先于Runnable?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

是否应该将Callable优先于Runnable?

两者都有其用途,并且都由java.util.concurrent中的Executor框架支持。Runnable已经存在了更长的时间,但是它仍然在使用并且不被阻止。

可调用程序可以抛出异常并返回值,这使它们成为更好的抽象方法,用于承载结果的任务(例如,从网络中获取资源,执行昂贵的值计算等)[摘自Goetz的 Java
Concurrency in Practice
,布洛赫(Bloch)等。等,关于Java并发的标准工作]。

因此,如果您正在设计API,建议您尽可能使用Callables。如果您确定任务不会返回值并且不会引发异常,那么Runnable也是一个有效的选择。这里没有黑色和白色,尤其是因为Runnable可以轻松地包装在Callables中,反之亦然。

另外,请注意您的Callable实现无需声明

throwsException
;Callable本身声明它的事实仅是允许实现者抛出任何检查的异常。但是,仅依赖Callable接口的Callable调用者将不得不编写异常处理代码。
还要注意,Callables不需要返回值;您只需声明您的Callable即可返回
Void
(大写的’
V
‘)。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/440986.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号