使用 Callable + FutureTask 创建线程(带返回值)笔记

AI-摘要
LNotes-AI GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
使用 Callable + FutureTask 创建线程(带返回值)笔记
Liuxz一、核心作用
Callable 是带返回值的线程任务接口,配合 FutureTask 可实现 “有返回值的多线程操作”,弥补了 Runnable 无返回值的不足。
二、关键组件
Callable<V>接口- 泛型接口,
V表示返回值类型。 - 需重写
call()方法(线程执行体),有返回值且可声明抛出异常。
- 泛型接口,
FutureTask<V>类- 包装
Callable任务,实现Runnable接口(可被线程执行)。 - 提供
get()方法,用于获取call()的返回值(阻塞等待任务完成)。
- 包装
三、使用步骤(代码示例)
1 | import java.util.concurrent.Callable; |
四、核心特点
- 有返回值:通过
call()方法返回结果,FutureTask.get()获取。 - 可抛异常:
call()可声明异常,get()会抛出ExecutionException包装异常。 - 阻塞获取:
get()会阻塞当前线程,直到任务执行完毕。
五、适用场景
需要线程执行后返回结果的场景(如计算任务、数据查询、异步处理等)。
总结
Callable + FutureTask 是实现 “带返回值线程” 的标准方式,通过 FutureTask 桥接 Callable 与线程,既保留了多线程的并发能力,又能方便地获取任务结果。
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果




