Callable接口类似于Runnable,但 Runnable不返回结果,也不能抛出被检查的异常。
一、JDK帮助手册
打开JDK帮助手册,搜索Callable

帮助手册告诉我们,Executors类包含实现方法,我们再搜索Executors

JDK并未给出创建线程的示例,需要另外寻找资料列出详细创建过程。
二、创建过程与代码示例
1、实现Callable接口,需要返回值类型;
2、重写call方法,需要抛出异常;
3、创建目标对象实例 t;
4、创建执行服务:ExecutorService ser = Executor.newFixedThreadPool(1);
5、提交执行:Future result = ser.submit(t);
6、获取结果:boolean r = result.get();
7、关闭服务:ser.shutdownNow();
实现Callable接口创建线程:
public class ThreadDemo3 implements Callable<Boolean> {
@Override
public Boolean call() throws Exception {
for(int i = 0; i < 10; i++) {
// 休眠100毫秒,以免CPU执行太快,看不出实验结果
Thread.sleep(

本文介绍了Java中使用Callable接口创建线程的步骤,包括实现Callable接口、重写call方法、创建线程池、提交执行任务以及获取结果。同时,文章讨论了Callable与Runnable的区别,并指出在实际工作中通常基于线程池使用Callable接口。最后,解释了Callable是如何通过FutureTask和Thread类协同工作来创建线程的。
最低0.47元/天 解锁文章
1600

被折叠的 条评论
为什么被折叠?



