Javarunnable和callable的异同

美女程序员鼓励师

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的异同,希望对大家有所帮助。更多Java学习指路:Java基础

以上是 Javarunnable和callable的异同 的全部内容, 来源链接: utcz.com/z/544627.html

回到顶部