爪哇 中Runnable和Callable之间的区别

 爪哇 中Runnable和Callable之间的区别

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

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

  • 可运行在竞彩篮球分析 1.0版本中引入,而Callable是Runnable的扩展版本,并在竞彩篮球分析 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对象。

导入联系人

您可能还喜欢:

相关文章

  • 6月13日

    爪哇 Executor框架教程和示例

    爪哇 5引入了一个称为Executor框架的新框架来管理线程,我们之前已经了解了如何创建线程。如前所述,我们需要使用new 线 (runnableObject)创建线程类的对象,因此我们需要为每个任务创建线程对象。想象一下,您有成千上万个任务[…]

  •  爪哇  ExecutorCompletionService
    6月9日

    爪哇 ExecutorCompletionService

    在这篇文章中,我们将看到有关竞彩篮球分析 ExecutorCompletionService示例的信息。 ExecutorCompletionService类实现CompletionService。此类按完成顺序返回Future对象。为什么您可能需要使用ExecutorCompletionService:’在场景的帮助下了解:’假设您有5项任务,将其提交给执行者,并且希望尽快执行一些操作[…]

  • 6月5日

    爪哇 新 SingleThreadExecutor示例

    在本教程中,我们将学习Executor的newSingleThreadExecutor工厂方法。在上一教程中,我分享了ThreadPoolExecutor的介绍。如果您不了解ThreadPoolExecutor的概念,则应首先进行了解。执行器的newSingleThreadExecutor工厂方法:此方法返回线程池执行器,该执行器一次执行一个任务。如果[…]

  • 29 May

    爪哇 ScheduledThreadPoolExecutor示例

    在竞彩篮球分析中有多种计划任务的方法。我们已经有竞彩篮球分析计时器来安排任务了,但是计时器任务的问题在于您一次可以执行一个任务,因此如果当前任务花费的时间更长,则后续作业将被延迟。在这种情况下,您可以使用竞彩篮球分析 ScheduledThreadPoolExecutor。此类[…]

  •  爪哇  未来任务示例
    28 May

    爪哇 未来任务示例

    在本教程中,我们将看到有关竞彩篮球分析 未来任务示例的信息。 JDK 5中使用Executor Framework引入了FutureTask类。 未来任务类是Future对象的具体实现,提供了用于启动和取消任务的方法,还提供了查看计算是否完成的方法。我们可以查询[…]

  • 20 May

    爪哇 新 FixedThreadPool示例

    在本教程中,我们将学习执行器的newFixedThreadPool工厂方法。在上一教程中,我分享了ThreadPoolExecutor的介绍。如果您不了解ThreadPoolExecutor的概念,则应首先进行了解。执行器的newFixedThreadPool工厂方法:此方法返回ThreadPoolExecutor,其最大大小(假设为n个线程)是固定的。如果所有[…]

发表评论

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

订阅我们的新闻

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