Java 中可运行接口和可调用接口之间的区别
2022-08-31 04:20:05
在 Java 中设计并发线程时,使用 和 接口有什么区别,为什么会选择一个而不是另一个?Runnable
Callable
在 Java 中设计并发线程时,使用 和 接口有什么区别,为什么会选择一个而不是另一个?Runnable
Callable
和 的应用有什么区别。是否仅与 ? 中的返回参数存在差异
Runnable
Callable
Callable
基本上,是的。请参阅此问题的答案。以及 Callable
的 javadoc。
如果两者都能做所有的事情,那么两者都需要什么?
Callable
Runnable
因为界面不能做所有的事情!Runnable
Callable
Runnable
从Java 1.0开始就已经存在了,但只是在Java 1.5中引入的...以处理不支持的用例。从理论上讲,Java团队可以更改该方法的签名,但这会破坏与1.5之前代码的二进制兼容性,在将旧的Java代码迁移到较新的JVM时需要重新编码。这是一个很大的禁忌。Java努力向后兼容...这一直是Java在商业计算方面最大的卖点之一。Callable
Runnable
Runnable.run()
而且,显然,在有些用例中,任务不需要返回结果或引发已检查的异常。对于这些用例,使用比使用和返回方法中的虚拟 () 值更简洁。Runnable
Callable<Void>
null
call()