javajava 多线程 异步计算 FutureTask 源码详解

Posted 九师兄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javajava 多线程 异步计算 FutureTask 源码详解相关的知识,希望对你有一定的参考价值。

1.概述

扩展阅读:【java】线程 ExecutorService 原理 源码 解释

1.1 问题

  1. FutureTask用来解决什么问题的?
  2. 为什么会出现?
  3. FutureTask类结构关系怎么样的?
  4. FutureTask的线程安全是由什么保证的?
  5. FutureTask结果返回机制?
  6. FutureTask内部运行状态的转变?
  7. FutureTask通常会怎么用?

举例说明。

1.2 FutureTask简介

FutureTask 为 Future 提供了基础实现,如获取任务执行结果(get)和取消任务(cancel)等。如果任务尚未完成,获取任务执行结果时将会阻塞。一旦执行结束,任务就不能被重启或取消(除非使用runAndReset执行计算)。FutureTask 常用来封装 Callable 和 Runnable,也可以作为一个任务提交到线程池中执行。除了作为一个独立的类之外,此类也提供了一些功能性函数供我们创建自定义 task 类使用。FutureTask 的线程安全由CAS来保证。<

以上是关于javajava 多线程 异步计算 FutureTask 源码详解的主要内容,如果未能解决你的问题,请参考以下文章

多线程:线程池异步计算,2个线程,1个计算10的阶乘,一个计算20的阶乘并返回

Thread--线程

异步多线程

Java多线程11-异步编程

线程与异步

异步线程