gpt4 book ai didi

java - 如果你丢弃对 Future 的引用,它还会运行吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:07:52 25 4
gpt4 key购买 nike

在我的方法中,我必须调用另一个返回 future 的方法 (AnotherMethod)。

例如。

private static void myMethod() {
Future<MyObj> mjObj = AnotherMethod();
return;
}

我实际上并不关心 AnotherMethod 返回的值(例如 myObj 的值),但我确实想要 AnotherMethod完全运行。

如果我放弃对 future 的引用(如上例所示),AnotherMethod 是否仍会完成运行?

我知道它在从 myMethod 返回之前不会完成,但是即使不再有对 myObj 的引用,它还会在某个时候完成吗?

最佳答案

首先,AnotherMethod 总是会从头到尾执行,因为你调用了它。至于并发,如果AnotherMethod启动一个Thread或者提交任务给一个executor那么这个并发执行不会被打断。垃圾收集器不会中断线程,因为它们是 GC 根 - JVM 中的顶级对象。

关于java - 如果你丢弃对 Future 的引用,它还会运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51772514/

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