Linux 拨号vps windows公众号手机端

java中runnable和callable有什么区别

lewis 7年前 (2018-07-28) 阅读数 7 #程序编程
文章标签 Java

在Java中,Runnable和Callable都是用于多线程编程的接口,它们的区别如下:

  1. 返回值:Runnable接口没有返回值,而Callable接口可以返回执行结果。

  2. 抛出异常:Runnable接口的run()方法不能抛出异常,而Callable接口的call()方法可以抛出异常。

  3. 使用方式:Runnable接口的run()方法只能通过Thread类的start()方法调用,而Callable接口的call()方法可以通过ExecutorService的submit()方法调用。

  4. 并发控制:Callable接口可以使用Future接口来控制多线程的并发运行,可以获取线程的执行结果、取消线程的执行、等待线程执行完毕等操作。而Runnable接口没有这些功能。

综上所述,Runnable适用于不需要获取执行结果的情况,而Callable适用于需要获取执行结果或进行并发控制的情况。

版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门