gpt4 book ai didi

java - Callable和Future的实际实现

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:33:37 27 4
gpt4 key购买 nike

我正在理解细粒度 util.concurrency。 JVM 中 Java CallableFuture 的实现在哪里?

我找到了 Future class它在 Java 语言的高层描述 future 的地方,我试图找到它在较低层描述的地方。

总而言之,找到 Future 和 Callable 的实际实现会很有趣,例如:处理 Future.get() 或 Callable.call() 并规定它们应该如何工作的 JVM 部分。

期待您的回复,阿空卡格瓦

最佳答案

Where is implementation of the Java Callable and Future located in the JVM ?

Future 接口(interface)的主要实现是 FutureTask class . ExecutorService 类使用它来表示提交的作业等。Callable(如 Runnable)是您自己实现的简单接口(interface).它包装了您希望 ExecutorService 线程池执行的任务。您应该下载这些类的源 jar 并自己查看 Java 代码。

这些类都不包含任何 JVM 黑魔法或任何东西。例如,如果您构建了一个 Callable 类,除非您将其提交到线程池,否则它不会在另一个线程中运行。您可以在许多与线程无关的地方使用 Callable

围绕 FutureCallable 的 JVM“黑魔法”主要包含在 Thread 类中。它具有底层 native 支持,可与 OS 线程一起工作以完成在另一个线程中运行任务的实际工作。如果您想查看它的作用,其中仍然有很多 Java 代码,但真正神奇的是 native 和操作系统调用。

这是一个 good tutorial about how to use the executor services在 1.5 中添加到 Java。

关于java - Callable和Future的实际实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14609778/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com