博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA 线程之带有返回值的Callable和Future
阅读量:4209 次
发布时间:2019-05-26

本文共 1287 字,大约阅读时间需要 4 分钟。

可返回值的任务必须实现Callable接口,类似的,无返回值的任务必须Runnable接口

执行Callable任务后,可以获取一个Future的对象,在该对象上调用get就可以获取到Callable任务返回的Object了。

package thread.callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Future;/** * Callable和Future * 

* 1.可返回值的任务必须[实现Callable接口],类似的,无返回值的任务必须[Runnable接口] * 2.执行Callable任务后,可以获取一个[Future的对象],在该对象上调用get就可以获取到Callable任务返回的Object了。 *

* Created by heqianqian on 2017/4/15. */public class CallableDemo {

public static void main(String[] args) throws ExecutionException, InterruptedException { ExecutorService pool = Executors.newFixedThreadPool(2); Future future1 = pool.submit(new MyCallable("A")); Future future2 = pool.submit(new MyCallable("B")); System.out.println(future1.get().toString()); System.out.println(future2.get().toString()); pool.shutdown(); }}

package thread.callable;import java.util.concurrent.Callable;/** * MyCallable * Created by heqianqian on 2017/4/15. */public class MyCallable implements Callable {
private String name; public MyCallable(String name) { this.name = name; } @Override public Object call() throws Exception { return name + "返回的内容"; }}

转载地址:http://htqli.baihongyu.com/

你可能感兴趣的文章
Java图形界面中单选按钮JRadioButton和按钮Button事件处理
查看>>
小练习 - 排序:冒泡、选择、快排
查看>>
SparkStreaming 如何保证消费Kafka的数据不丢失不重复
查看>>
Spark Shuffle及其调优
查看>>
数据仓库分层
查看>>
常见数据结构-TrieTree/线段树/TreeSet
查看>>
Hive数据倾斜
查看>>
TopK问题
查看>>
Hive调优
查看>>
HQL排查数据倾斜
查看>>
DAG以及任务调度
查看>>
LeetCode——DFS
查看>>
MapReduce Task数目划分
查看>>
ZooKeeper分布式锁
查看>>
3126 Prime Path
查看>>
app自动化测试---ADBInterface驱动安装失败问题:
查看>>
RobotFramework+Eclipse安装步骤
查看>>
测试的分类
查看>>
photoshop cc2019快捷键
查看>>
pycharm2019版本去掉下划线的方法
查看>>