Java 中的 Future 接口10 Sept 2024 | 4 分钟阅读 Future 是 Java 语言中的一个接口,属于 java.util.concurrent 包。它象征着异步计算的输出。该接口提供了确定计算是否完成、等待计算完成以及获取计算结果的方法。一旦任务或计算完成,就无法撤销。 语法Java Future 示例ExecutorService 接口是 Java Future 的最佳体现。它会生成一个 Future 对象来跟踪一个或多个异步任务的进度(通过其某些方法)。 Future 接口的方法该接口提供了以下五种方法
Future 接口存在一些缺点,包括以下几点
Java 8 提供了 **CompletableFuture** 来规避上述限制。 在异步编程中使用 Future如前所述,Future 是异步任务的结果。这个 Java Future 接口提供了 get() 方法的以下两种迭代,它们都返回一个对象,用于获取异步任务的结果。返回值可能是一个泛型类型,请牢记这一点。例如 如果我们尝试在异步作业完成之前调用 get() 函数,它将等待直到结果准备就绪。 为了解决上述缺陷,Future 接口提供了 get() 函数的另一种迭代,该函数接受一个时间持续时间(以毫秒为单位)作为参数。这表示 Future 需要等待一段时间才能完成任务,然后才能提供结果。例如 如果在规定时间内未收到响应,Future 将抛出 TimeoutException。 取消异步任务还可以使用 Future 接口的 cancel() 方法随时停止异步任务。例如 检查异步任务是否已取消可以使用 Future 接口的 isCancelled() 方法来确定 Future 所代表的异步作业是否已被取消。如果任务成功取消,则返回 true;否则返回 false。例如 Java Future 示例FutureExample.java 输出 The thread is still running task in progress .. The thread is still running task in progress .. The thread is still running task in progress .. The thread is still running task in progress .. The thread is still running task in progress .. Thread is completed and the task has completed .. My name is manoj kumar 下一个主题在 Java 中反转二叉树 |
java.util.function 包(于 Java 8 引入)包含 ToIntBiFunction 接口,该接口用于在 Java 中实现函数式编程。它表示一个接受两个 T 和 U 类型输入并返回整数值的函数。有两种...
阅读 3 分钟
在 Java 中,当组织包含重复元素的集合以及借助 Multiset 统计元素频率时。Java SE 在其标准库中不支持 Multiset 作为接口,但它可以由第三方框架(如 Google...)支持。
5 分钟阅读
在 Java 中,提供的字符通过 Reader 类的 read(char[]) 函数读取到数组中。尝试读取数组长度数量的字符后,将返回成功读取的字符数。在处理...时,通常会采用此技术。
阅读 4 分钟
在 Java 中,错误基本上是 Junit 的一个异常,当 Junit 找不到可运行的测试方法时发生。在 spring boot 中,它是最常用的 Java 框架之一,它会抛出 no runnable methods 异常,因为没有可运行的测试方法...
5 分钟阅读
在本节中,我们将学习什么是强大数,并创建 Java 程序来检查给定的数字是否是强大数。强大数程序经常在 Java 编码面试和学术中出现。强大数 X 被称为...
5 分钟阅读
Stream filter(Predicate predicate) 提供了一个流,其中包含满足所提供谓词的流中的元素。这是一个分步过程。这些操作总是惰性的,这意味着调用 filter() 实际上不会过滤任何内容,而是创建一个包含...
阅读 3 分钟
? 链表是基本的数据结构,可以在计算机编程中高效地存储和操作数据。它们由节点组成,每个节点包含数据和指向列表中下一个节点的引用。在本文中,我们将探索 Java 中链表的各种操作,...
阅读 6 分钟
在 Java 中,图是一种存储一定数量数据的结构。图的概念是从数学借鉴而来,以满足计算机科学领域的需求。它代表连接多个点的网络。在...
11 分钟阅读
在编程语言的世界里,Java 是最流行和通用的选择之一。Java 的一个关键特性是其可移植性,允许开发人员编写一次代码,并在任何地方运行。这种可移植性……
阅读 4 分钟
Java 的 `java.util` 包包含 `AbstractSequentialList` 类,它提供了 `List` 接口的基本实现,以减少使用“顺序访问”数据存储(例如链表)实现此接口所涉及的任务。为了摆脱所有元素……
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India