首页  >  文章  >  Java  >  Java中Runnable和Callable的比较

Java中Runnable和Callable的比较

PHPz
PHPz转载
2023-04-21 21:58:151426浏览

1、相同点

两者都是接口

两者都需要调用Thread.start启动线程

2、不同点

callable的核心是call()方法,允许返回值,runnable的核心是run()方法,没有返回值

call()方法可以抛出异常,但是run()方法不行

callable和runnable都可以应用于executors,thread类只支持runnable

3、实例

Runnable和Callable的接口定义

@FunctionalInterface
public interface Runnable {
    /**
     * When an object implementing interface <code>Runnable</code> is used
     * to create a thread, starting the thread causes the object's
     * <code>run</code> method to be called in that separately executing
     * thread.
     * <p>
     * The general contract of the method <code>run</code> is that it may
     * take any action whatsoever.
     *
     * @see     java.lang.Thread#run()
     */
    public abstract void run();
}
@FunctionalInterface
public interface Callable<V> {
    /**
     * Computes a result, or throws an exception if unable to do so.
     *
     * @return computed result
     * @throws Exception if unable to compute a result
     */
    V call() throws Exception;
}

以上是Java中Runnable和Callable的比较的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:yisu.com。如有侵权,请联系admin@php.cn删除