当前位置:才华咖 > 互联网计算机 > 计算机 > java语言 > Java Callable和Future学习
手机版

Java Callable和Future学习

来源:才华咖 阅读:1.66W 次

导语:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。下面我们来看看JavaCallable和Future学习,希望对大家有所帮助。

Java Callable和Future学习

常见用法

一般Callable和Future搭配使用的方法如下:

把Callable任务提交给线程池,线程池给我们返回一个Future对象;

然后我们通过Future拿到一个结果;

说明:线程池帮我们做了太多事情,而且封装起来,这样子我们理解底层机制就非常困难,毕竟距离冰冷的现实越远,对底层越难以理解;

原理概述

线程池背后做的事情如下:

把Callable转换为FutureTask(这个对象实现了Futuure和Runnable接口,并且包含Callable属性);

线程把FutureTask当做Runnable进行调度,在真正执行的时候调用的是FutureTask中的`run方法,这个方法干的事情就是:

调用Callable的call方法,然后再把结果放到FutureTask的属性outcome上,

这样,当我们FutureTask调用get方法(实现了Futuure的get方法),(当然完成的情况下)就给我们返回outcome;

本文链接:https://www.caihuaka.com/jsjzs/java/lon4k1.html

Copyright © 2024. 才华咖 All right reserved. 浙ICP备20120231号-3

文字美图素材,版权属于原作者。部分文章内容由网友提供推送时因种种原因未能与原作者联系上,若涉及版权问题,敬请原作者联系我们,立即处理。