Java线程

Java线程,第1张

  1. }

  2. };

  3. FutureTask future = new FutureTask(callable);

  4. new Thread(future).start();

  5. try {

  6. Thread.sleep(5000);// 可能做一些事情

  7. System.out.println(future.get());

  8. } catch (InterruptedException e) {

  9. e.printStackTrace();

  10. } catch (ExecutionException e) {

  11. e.printStackTrace();

  12. }

  13. }

  14. }

FutureTask实现了两个接口,Runnable和Future,所以它既可以作为Runnable被线程执行,又可以作为Future得到Callable的返回值,那么这个组合的使用有什么好处呢?假设有一个很耗时的返回值需要计算,并且这个返回值不是立刻需要的话,那么就可以使用这个组合,用另一个线程去计算返回值,而当前线程在使用这个返回值之前可以做其它的 *** 作,等到需要这个返回值时,再通过Future得到,岂不美哉!这里有一个Future模式的介绍: [](()[http://openhome.cc/Gossip/DesignPattern/FuturePattern.htm](() 。

下面来看另一种方式使用Callable和Future,通过ExecutorService的submit方法执行Callable,并返回Future,代码如下:

[java]  [view plain](() [copy](() [print](() [?](() [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kzNciWVe-1650015931513)(https://code.csdn.net/assets/CODE_ico.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lA9aVQe8-1650015931513)(ht 《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》开源 tps://code.csdn.net/assets/ico_fork.svg)]

  1. public class CallableAndFuture {

  2. public static void main(String[] args) {

  3. ExecutorService threadPool = Executors.newSingleThreadExecutor();

  4. Future future = threadPool.submit(new Callable() {

  5. Android开源项目《ali1024.coding.net/public/P7/Android/git》             public Integer call() throws Exception {

  6. return new Random().nextInt(100);

  7. }

  8. });

  9. try {

  10. Thread.sleep(5000);// 可能做一些事情

  11. System.out.println(future.get());

  12. } catch (InterruptedException e) {

  13. e.printStackTrace();

  14. } catch (ExecutionException e) {

  15. e.printStackTrace();

  16. }

  17. }

  18. }

最后,面试前该准备哪些资源复习?

其实客户端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

这里再分享一下我面试期间的复习路线:(以下体系的复习资料是我从各路大佬收集整理好的)

《Android开发七大模块核心知识笔记》

《960全网最全Android开发笔记》

《379页Android开发面试宝典》

历时半年,我们整理了这份市面上最全面的安卓面试题解析大全
包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。熟悉本文中列出的知识点会大大增加通过前两轮技术面试的几率。

《507页Android开发相关源码解析》

只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。
id,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/733071.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存