爪哇 中Runnable和Callable之间的区别

 爪哇 中Runnable和Callable之间的区别

可运行 可召回 接口都在多线程环境中使用。Callable在java.util.concurrent.Callable包中可用,而Runnable在java.lang.Thread中可用。

爪哇 中Runnable和Callable接口之间的区别

  • 可运行在Java 1.0版本中引入,而Callable是Runnable的扩展版本,并在Java 1.5中引入,以解决Runnable的局限性。
  • 可运行不返回任何值,其返回类型为void而Callable具有返回类型,因此,任务完成后,我们可以使用Future类的get()方法获得结果。未来类具有各种方法,例如get,cancel和isDone,通过它们您可以获取或执行与任务有关的各种操作。例如:

    可召回 是一个通用接口,意味着实现类将决定它将返回的值的类型。
  • 可运行不会引发检查异常,而Callable会引发Checked异常(即在编译时检查的异常),因此,在编译时我们可以识别错误。
  • 在Runnable中,我们重写run()方法,而在Callable中,我们需要重写call()方法。
  • 当我们不希望执行完诸如ex的任务后的任何返回值时,使用Runnable:logging当我们想要获得计算结果时,使用While 可召回 。
  • 首先,我们创建具有Runnable接口的类的实例,然后创建Thread类的实例,然后将Runnable类的对象作为参数传递给Thread类。

    如果是Callable,则无法将Callable传递给线程来执行,因此我们需要使用ExecutorService来执行Callable对象。

导入联系人

您可能还喜欢:

相关文章

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

订阅我们的新闻

获取质量教程到您的收件箱。现在订阅。