关闭

Runnable和Callable接口的区别

671人阅读 评论(0) 收藏 举报
分类:

线程内容回顾
--------------------------------------------------------------
1.Android 中线程应用基础?(Thread,Runnable,synchronized)
2.Android 中线程消息模型?(Message,MessageQueue,Looper,Handler,HandlerThread)
3.Android 中线程异步对象?(AsyncTask)
4.Android 中线程池应用?(Executor,Executors,Runnable,Callable,Timer)

--------------------------------------------------------------


线程池的执行方法有俩个,一个是excute(没有返回),另一个是submit(返回一个Future<>)。构造有参时候可以放任务,callble和Runnable,

Callable接口和Runnable接口相似,区别就是Callable需要实现call方法,而Runnable需要实现run方法;并且,call方法还可以返回任何对象,无论是什么对象,JVM都会当作Object来处理。但是如果使用了泛型,我们就不用每次都对Object进行转换了。

 

Runnable和Callable都是接口

不同之处:
1.Callable可以返回一个类型V,而Runnable不可以
2.Callable能够抛出checked exception,而Runnable不可以
3.Runnable是自从java1.1就有了,而Callable是1.5之后才加上去的
4.Callable和Runnable都可以应用于executors。而Thread类只支持Runnable.
上面只是简单的不同,其实这两个接口在用起来差别还是很大的。Callable与executors联合在一起,在任务完成时可立刻获得一个更新了的Future。而Runable却要自己处理

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

java 泛型在类,接口和方法上的应用

虽然我在泛型的使用这块,应用的地方不是很多,但是还是要总结一下的,这一篇文章主要是从使用的角度,对泛型进行介绍。 如果一个类有一个或者多个类型的变量,那么这个类就是泛型类,这些类型变量是类的类型参数...
  • maoyeqiu
  • maoyeqiu
  • 2015-11-30 12:33
  • 6584

Callable,Runnable比较及用法以及创建线程的4种方法

编写多线程程序是为了实现多任务的并发执行,从而能够更好地与用户交互。一般有三种方法,Thread,Runnable,Callable. Runnable和Callable的区别是, (1)Ca...
  • xyw591238
  • xyw591238
  • 2016-07-13 18:10
  • 1154

Callable接口与Runnable接口的区别

Java代码 public interface Executor {     /**      * Executes the given command at some time in the ...
  • zyl1042635242
  • zyl1042635242
  • 2015-09-07 16:38
  • 1725

Callable,Runnable的区别及用法

编写多线程程序一般有三种方法,Thread,Runnable,Callable.Runnable和Callable的区别是: (1)Callable规定的方法是call(),Runnable规定的...
  • qq_27258799
  • qq_27258799
  • 2016-05-19 09:26
  • 6127

Runnable、Callable、Future接口区别

我们分别看一下这三个接口的方法: 1、Runnable接口只有一个run()方法 ,并且该方法无返回值(我们相当熟悉)。 public interface Runnable { pub...
  • u013871439
  • u013871439
  • 2017-03-08 23:10
  • 172

Callable接口与Runnable接口的区别

Java代码 public interface Executor {     /**      * Executes the given command at some time in the ...
  • zyl1042635242
  • zyl1042635242
  • 2015-09-07 16:38
  • 1725

Callable接口与Runnable

相同点: Callable和Runnable都是接口 Callable和Runnable都可以应用于Executors 不同点: Callable要实现call方法,Runnable要实现...
  • qq_21439971
  • qq_21439971
  • 2016-12-22 14:22
  • 3842

JAVA多线程实现的三种方式(继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程)

JAVA多线程实现方式 JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线...
  • system1190
  • system1190
  • 2015-09-23 12:12
  • 1132

深入Callable及Runnable两个接口 获取线程返回结果

科技优家 2017-04-13 10:11 今天碰到一个需要获取线程返回结果的业务场景,所以了解到了Callable接口。 先来看下下面这个例子: public class ThreadTest {...
  • u011277123
  • u011277123
  • 2017-04-17 10:21
  • 387

Thread、Runnable、Callable三种创建线程的简单示例及区别简介

一、继承Thread类 1、编写线程类,继承Thread类 2、重写run()方法 把该线程需要完成的任务代码写在run()中,也称为线程体 3...
  • DongVagrant
  • DongVagrant
  • 2017-11-23 11:07
  • 77
    个人资料
    • 访问:7833次
    • 积分:366
    • 等级:
    • 排名:千里之外
    • 原创:27篇
    • 转载:9篇
    • 译文:0篇
    • 评论:0条