Runnable与Callable
发布日期:2021-06-27 12:56:03
浏览次数:29
分类:技术文章
本文共 687 字,大约阅读时间需要 2 分钟。
文章目录
Runnable与Callable
接口定义
callable接口
public interface callable{ v call() throws Excepption;}
Runnable接口
public interface Runnable{ public abstract void run();}
Callable的使用步骤
- 编写类实现Callable接口 , 实现call方法
class XXX implements Callable{ @Override public call() throws Exception { return T; }}
- 创建FutureTask对象 , 并传入第一步编写的Callable类对象
FutureTaskfuture = new FutureTask<>(callable);
- 通过Thread,启动线程
new Thread(future).start();
异同点分析
相同点
- 都是接口
- 都可以编写多线程程序
- 都采用Thread.start()方法启动程序
不同点
- Runnable没有返回值,而Callable可以返回执行结果
- Callable接口的call()允许抛出异常,而Runnable的run()不能抛出
注意: Callalble接口支持返回执行结果,需要调用FutureTask.get()得到,此方法会阻塞主进程的继续往下执行,如果不调用不会阻塞。
转载地址:https://blog.csdn.net/weixin_43454088/article/details/117340182 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月06日 19时45分04秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
012_bash中的if判断条件
2019-04-27
013_bash中的加法
2019-04-27
014_bash中的for循环
2019-04-27
015_Arduino上实现一个简单的番茄时钟
2019-04-27
021_Excel的条件格式
2019-04-27
022_Excel空白值批量填充默认值
2019-04-27
023_emacs git-gutter+报错解决
2019-04-27
024_spacemacs支持org-pomodoro的声音提示
2019-04-27
025_everything搜索使用体验
2019-04-27
026_好用的windows小工具clover
2019-04-27
027-Mac触摸板实现窗口移动
2019-04-27
028_AUTOSAR RTE学习笔记-1
2019-04-27
029_AUTOSAR VFB学习笔记-2
2019-04-27
030_AUTOSAR软件组件学习笔记
2019-04-27
031_AUTOSAR学习笔记_BSW
2019-04-27
032_AUTOSAR学习笔记_接口
2019-04-27
033_PowerShell学习初探
2019-04-27
034_PowerShell中的HOME环境变量
2019-04-27
035_PowerShell中的dir与CMD中的dir差异
2019-04-27
036_AUTOSAR学习笔记_MCAL基础架构
2019-04-27