GUC-6 Callable 接口】的更多相关文章

1. Callable与Runable区别 Java从发布的第一个版本开始就可以很方便地编写多线程的应用程序,并在设计中引入异步处理.Thread类.Runnable接口和Java内存管理模型使得多线程编程简单直接. 但Thread类和Runnable接口都不允许声明检查型异常,也不能定义返回值.没有返回值这点稍微有点麻烦.不能声明抛出检查型异常则更麻烦一些. public void run()方法契约意味着你必须捕获并处理检查型异常.即使你小心地保存了异常信息(在捕获异常时)以便稍后检查,但也…
public interface Executor { /** * Executes the given command at some time in the future.  The command * may execute in a new thread, in a pooled thread, or in the calling * thread, at the discretion of the <tt>Executor</tt> implementation. * *…
多线程有两种实现方式: 一种是实现Runnable接口,另一种是继承Thread类,这两种方式都有缺点,run方法没有返回值,不能抛出异常(这两个缺点归根到底是Runable接口的缺陷,Thread也是实现了Runnable接口),如果需要知道一个线程的运行结果就需要用户自行设计,线程类自身也不能提供返回值和异常. 但是从JDK1.5之后引入了一个新的接口Callable,它类似于Runnable接口,实现它就可以实现多线程任务,Callable接口的定义如下: public interface…
前两篇博客(多线程--继承Thread类.多线程--实现Runnable接口 )介绍了java使用线程的两种方法.这篇博客继续介绍第三种方法--实现Callable接口. 先说一下Runnable和Callable的差别: 1.Callable规定的方法是call(),Runnable规定的方法是run(). 2.Callable的任务运行后可返回值.而Runnable的任务是不能返回值得 3.call方法能够抛出异常,run方法不能够 4.运行Callable任务能够拿到一个Future对象,…
Callable 和 Future接口  Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其它线程执行的任务. Callable和Runnable有几点不同: (1)Callable规定的方法是call(),而Runnable规定的方法是run(). (2)Callable的任务执行后可返回值,而Runnable的任务是不能返回值的. (3)call()方法可抛出异常,而run()方法是不能抛出异常的. (4)运行Callable任务…
1.使用Callable接口的方式实现多线程,这是JDK5.0新增的一种创建多线程的方法 package com.baozi.java2; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask; public class ThreadNew { public static void main(Strin…
1.实现Callable接口,重写call方法,有返回值 2.通过实现Callable接口创建的线程只能在线程池中使用. 3.返回值就是run方法返回的对象 4.通过future.get()可以获取到返回的内容 实现Callable接口 /** * * @author Administrator *实现callable接口,重写call方法,存在返回值 */ public class CallableTest implements Callable<String>{ @Override pub…
Callable java5之前是没有返回值的,Java5新增了Callable接口获得线程的返回值,可返回值的任务必须实现Callable接口,类似的,无返回值的任务必须Runnable接口.Callable的call方法可以根据你传入的泛型参数返回对应类型的数据.执行Callable任务后,可以获取一个Future的对象,在该对象上调用get就可以获取到Callable任务返回的Object了. 示例: package thread_Callable; import java.util.co…
类继承关系 Callable接口 @FunctionalInterface public interface Callable<V> { V call() throws Exception; } Callable接口中只有一个call()方法,和Runnable相比,该方法有返回值并允许抛出异常. 但是这里有一个问题,进程是要通过Thread类去创建的,但是Thread的target必须是实现了Runnable接口的类对象,所以Callable对象无法直接作为Thread对象的接口:所以要想作…
Callable接口  Java 5.0 在 java.util.concurrent 提供了一个新的创建执行 线程的方式:Callable 接口  Callable 接口类似于 Runnable,两者都是为那些其实例可 能被另一个线程执行的类设计的.但是 Runnable 不会返 回结果,并且无法抛出经过检查的异常.  Callable 需要依赖FutureTask ,FutureTask 也可以用作闭锁 创建执行线程的方法有四种: 1.继承Thread类或者创建线程类 2.通过实现Ru…