callable

来源:2-1 回顾线程创建的两种方式

慕粉4260019

2016-11-26 19:53

老师能讲下callable与future 吗?

写回答 关注

1回答

  • 小明100
    2016-12-06 21:25:56

    Callable与 Future 两功能是Java在后续版本中为了适应多并法才加入的,Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其他线程执行的任务。

    Callable的接口定义如下;

    public interface Callable<V> { 

          V   call()   throws Exception; 

    Callable和Runnable的区别如下:

    I    Callable定义的方法是call,而Runnable定义的方法是run。

    II   Callable的call方法可以有返回值,而Runnable的run方法不能有返回值。

    III  Callable的call方法可抛出异常,而Runnable的run方法不能抛出异常。  

    Future 介绍

    Future表示异步计算的结果,它提供了检查计算是否完成的方法,以等待计算的完成,并检索计算的结果。Future的cancel方法可以取消任务的执行,它有一布尔参数,参数为 true 表示立即中断任务的执行,参数为 false 表示允许正在运行的任务运行完成。Future的 get 方法等待计算完成,获取计算结果


细说多线程之Thread VS Runnable

认识Thread和Runnable的区别,以及使用jstack生成线程快照

55327 学习 · 68 问题

查看课程