期货是否保证在一个点开始?



可能有其他方法可以做到我在这里用作示例的事情,但这不是我问题的重点。

我在做这个:

(future (clojure.java.shell/sh "sleep" "3" :dir "/tmp"))

启动对shell脚本的异步调用。("sleep 3"当然也只是一个例子)。

我想知道如果(future...)被调用,它是否保证在某个时候一个线程将开始并执行未来的内容?

还是只有在尝试解除对未来的引用时才能保证这一点?

(我知道一旦你尝试解引用,一个总是只从开始的未来将不是很有用,但这不是我问题的重点:我想知道的是,如果它保证未来,即使没有对未来进行解引用,也保证在一个点开始[考虑到程序仍在运行])

保证将future发送给ExecutorService(到clojure.lang.Agent/soloExecutor)

并且即使您不尝试取消引用它(未来调用源),它也保证被发送。

相关内容

  • 没有找到相关文章

最新更新