文档章节

java.util.concurrent.Callable

Ryan-瑞恩
 Ryan-瑞恩
发布于 2015/08/26 14:07
字数 201
阅读 139
收藏 1
点赞 0
评论 0
/**
 * A task that returns a result and may throw an exception.
 * Implementors define a single method with no arguments called
 * {@code call}.
 *
 * <p>The {@code Callable} interface is similar to {@link
 * java.lang.Runnable}, in that both are designed for classes whose
 * instances are potentially executed by another thread.  A
 * {@code Runnable}, however, does not return a result and cannot
 * throw a checked exception.
 *
 * <p>The {@link Executors} class contains utility methods to
 * convert from other common forms to {@code Callable} classes.
 *
 * @see Executor
 * @since 1.5
 * @author Doug Lea
 * @param <V> the result type of method {@code call}
 */
@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;

}

Callable 和 Runnable 的使用方法大同小异, 区别在于: 
1.Callable 使用 call() 方法, Runnable 使用 run() 方法 
2.call() 可以返回值, 而 run()方法不能返回。 
3.call() 可以抛出受检查的异常,比如ClassNotFoundException, 而run()不能抛出受检查的异常。 


© 著作权归作者所有

共有 人打赏支持
Ryan-瑞恩
粉丝 133
博文 208
码字总数 164469
作品 0
西安
后端工程师
java 任务分解

使用 java.util.concurrent.Callable

Canaan_ ⋅ 02/10 ⋅ 0

使用java.util.concurrent.Callable多线程,在并发情况下,下图中msgPlatform等变量会相互受影响吗?

使用java.util.concurrent.Callable多线程,在并发情况下,下图中msgPlatform等变量会相互受影响吗? public class SendSmsThread implements Callable {private MsgPlatform msgPlatform; p......

javame ⋅ 2015/04/17 ⋅ 0

JDK5.0新特性系列---11.1线程 Callable和Future

import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; /** 从本节开始,主要......

tavenli ⋅ 2011/12/17 ⋅ 0

ExecutorService & Callable实现多线程执行并取得每个线程的值

用ExecutorService运行多线程, 实现Callable接口,执行并取得每个线程的值的场景,如下图所示:![在此输入图片描述][1] [1]: http://static.oschina.net/uploads/space/2013/0929/173139_D8...

P&H ⋅ 2013/09/29 ⋅ 1

Callable/Future

Callable,线程执行任务,它是jdk1.5加入到api中的,相比于Runnable,它有俩大优点:第一,它可以有返回值,且返回值由我们事先泛型的Callable<T>中的T决定。第二,当我们在执行一个任务时,...

pczhangtl ⋅ 2013/11/20 ⋅ 0

Groovy 1.7.4 和1.8.0-beta-1版本发布

Groovy 1.7.4 和1.8.0-beta-1版本同时发布。 Groovy 1.7.4 此版本主要是对bug的修复,还添加了新的GDK方法,如:File.renameTo(String path)等。查看1.7.4发布文档:http://jira.codehaus.or...

鉴客 ⋅ 2010/07/26 ⋅ 0

多线程处理超时,多线程调用

import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import ......

33232435 ⋅ 2014/09/18 ⋅ 2

java利用FutureTask、ExecutorService 在多核时代充分利用CPU运算

java利用FutureTask、ExecutorService 在多核时代充分利用CPU运算 FutureTask、ExecutorService 相关知识,请看java,API 一个使用FutureTask简单的例子: package com.spell.threads; impor...

肖文锋 ⋅ 2012/12/07 ⋅ 0

java 利用Future异步获取多线程任务结果

简述 Future接口是Java标准API的一部分,在java.util.concurrent包中。Future接口是Java线程Future模式的实现,可以来进行异步计算。 有了Future就可以进行三段式的编程了,1.启动多线程任务...

qq948939246 ⋅ 01/11 ⋅ 0

Akka2使用探索3(Duration 和 Deadline)

akka提供了两个关于时长的数据类型:Duration 和 Deadline,比如5秒钟这种含义。 Duration.Inf表示无限,Duration.MinusInf表示负无限 Deadline, 表示一个绝对的时间点,意义是最终期限,并且...

飞飞狐 ⋅ 2012/09/29 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JavaScript零基础入门——(十)JavaScript的DOM基础

JavaScript零基础入门——(十)JavaScript的DOM基础 欢迎大家回到我们的JavaScript零基础入门,上一节课,我们了解了JavaScript中的函数,这一节课,我们来了解一下JavaScript的DOM。 第一节...

JandenMa ⋅ 40分钟前 ⋅ 0

Spring mvc DispatchServlet 实现原理

在Spring中, ContextLoaderListener只是辅助类,在web 容器启动的时候查找并创建WebApplicationContext对象,通过该对象进行加载spring的配置文件。而真正的逻辑实现其实是在DispatcherSer...

轨迹_ ⋅ 52分钟前 ⋅ 0

Weex起步

本教程假设你已经在你的本地环境安装了node 其实weex起步教程在 https://github.com/lilugirl/incubator-weex 项目说明文件中都已经有了,但为了有些同学看到英文秒变文盲,所以这里我重新写...

lilugirl ⋅ 今天 ⋅ 0

Jenkins实践1 之安装

1 下载 http://mirrors.jenkins.io/war/latest/jenkins.war 2 启动 java -jar jenkins.war 前提:安装jdk并配置环境变量 启动结果节选: ************************************************......

晨猫 ⋅ 今天 ⋅ 0

组合数学 1-2000 中,能被6或10整除的数的个数

1--2000 中,能被6或10整除的数的个数 利用集合的性质 能被6整除的个数 2000/6 = 333 能被10整除的个数 2000/10 = 200 能被6和10整除的个数 2000/30 = 66 能被6或10整除的个数 333+200-66 =...

阿豪boy ⋅ 今天 ⋅ 0

一篇文章学懂Shell脚本

Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。 Shell可以直接使用在win/Unix/Linux上面,并且可以调用...

Jake_xun ⋅ 今天 ⋅ 0

大数据工程师需要精通算法吗,要达到一个什么程度呢?

机器学习是人工智能的一个重要分支,而机器学习下最重要的就是算法,本文讲述归纳了入门级的几个机器学习算法,加大数据学习群:716581014一起加入AI技术大本营。 1、监督学习算法 这个算法由...

董黎明 ⋅ 今天 ⋅ 0

Kylin 对维度表的的要求

1.要具有数据一致性,主键值必须是唯一的;Kylin 会进行检查,如果有两行的主键值相同则会报错。 2.维度表越小越好,因为 Kylin 会将维度表加载到内存中供查询;过大的表不适合作为维度表,默...

无精疯 ⋅ 今天 ⋅ 0

58到家数据库30条军规解读

军规适用场景:并发量大、数据量大的互联网业务 军规:介绍内容 解读:讲解原因,解读比军规更重要 一、基础规范 (1)必须使用InnoDB存储引擎 解读:支持事务、行级锁、并发性能更好、CPU及...

kim_o ⋅ 今天 ⋅ 0

代码注释中顺序更改 文件读写换行

`package ssh; import com.xxx.common.log.LogFactory; import com.xxx.common.log.LoggerUtil; import org.apache.commons.lang3.StringUtils; import java.io.*; public class DirErgodic ......

林伟琨 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部