千家信息网

Future和Callable怎么使用

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇"Future和Callable怎么使用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看
千家信息网最后更新 2026年11月03日Future和Callable怎么使用

这篇"Future和Callable怎么使用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Future和Callable怎么使用"文章吧。

一、先说明启动线程的两种方式:

1、 继承Thread,重载run方法,执行start方法

Class MyThread extends Thread{

@Override

Void run(){

}

}

new MyThread().start();

2、 实现Runnable接口

Class MyTask implements Runnable {

Void run(){}

}

new Thread( new MyTask()).start();

这里顺便说下 new MyThread().start()和new MyThread().run();执行的区别,前者会启动一个线程执行run方法,后者是在本线程中执行run方法

二、再明确几个概念:

Callable接口和Runnable接口一样,也可通过实现该接口启动线程,但是Callable接口的run方法有返回值。

Future接口,相当于是对Callable进行了封装:

public interface Future {

boolean cancel(boolean mayInterruptIfRunning);

boolean isCancelled();

boolean isDone();

V get() throws InterruptedException, ExecutionException;

V get(long timeout, TimeUnit unit)

throws InterruptedException, ExecutionException, TimeoutException;

}

FutureTask是Future的一个实现,使用实例:

FutureTask futureTask = new FutureTask(new Callable(){});

new Thread(futureTask).start();

MyResult r = futureTask.get();

执行start方法后会执行Callable的run方法

调用futureTask 的get方法会执行,并判断是否执行完,如果run执行完了直接返回结果,否则的话会awaitDone阻塞,当start方法中的Callable方法执行完后会判断有没有阻塞的线程有的话会唤醒(LockSupport.parkNanos阻塞,LockSupport.unpark(thread)唤醒);注意当有多个线程阻塞的时候,是以链表形式存储的,唤醒的时候也是依次唤醒

以上就是关于"Future和Callable怎么使用"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

方法 接口 线程 内容 阻塞 文章 时候 知识 篇文章 价值 多个 大部分 完了 实例 就是 形式 方式 是在 更多 概念 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网电商科技 互联网核心科技是什么 互联网扶贫科技 美国互联网科技巨头监管 互联网最新的科技有限公司 互联网科技的英文 米客互联网科技 互联网高科技股票 卓越科技互联网 招聘 博兴的互联网电子科技公司 湖北码尼互联网科技有限公司电话 和信科技工业互联网 新兴科技互联网创新大赛颁奖典礼 深圳市罗太互联网科技有限公司 深圳互联网科技的发展 银行科技岗属于互联网吗 深圳无忧互联网科技 互联网与数字科技关系 中国科技和美国互联网 数字科技和互联网金融哪个好 哈尔滨大商圈互联网科技有限公司 科技信息互联网 卓越科技(互联网 ) 开启互联网科技时代小说 宁夏众和广鑫互联网科技有限公司 广州市恰铎互联网科技有限公司 江苏苏星互联网科技有限公司 互联网科技资金流入 马化腾互联网科技教学 银川新华互联网科技学校招聘
0