您好,欢迎来到华佗小知识。
搜索
您的当前位置:首页【转】说说Runnable与Callable

【转】说说Runnable与Callable

来源:华佗小知识

 

Callable接口:

 

Runnable接口:

 

相同点:

 

不同点:

  1. 两者最大的不同点是:实现Callable接口的任务线程能返回执行结果;而实现Runnable接口的任务线程不能返回结果;
  2. Callable接口的call()方法允许抛出异常;而Runnable接口的run()方法的异常只能在内部消化,不能继续上抛;

 

注意点:

  • Callable接口支持返回执行结果,此时需要调用FutureTask.get()方法实现,此方法会阻塞主线程直到获取‘将来’结果;当不调用此方法时,主线程不会阻塞!

 

Callable工作的Demo:

 

 

 

 

测试结果:

 

 

 

 

Runnable工作的Demo:

 

 

测试结果:

 

 

写此篇的原因是一次面试中问到Callable与Runnable的区别,当时用的多的是Runnable,而Callable使用很少!

比较了两者后(网上查了不少),发现Callable在很多特殊的场景下还是很有用的!最后留点抄的代码,加深对Callable的认识!

 

 
分类: 

转载于:https://www.cnblogs.com/didiaoxiong/p/9241278.html

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.cn 版权所有 湘ICP备2023017654号-2

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务