我正在Java 8中使用Completable futures,并且我想编写一种方法,该方法基于接收到的参数并行运行多个具有副作用的任务,然后返回其“组合”
future(使用CompletableFuture.allOf()
),或者什么都不做,然后返回已经完成的未来。
但是,allOf
返回一个CompletableFuture<Void>
:
public static CompletableFuture<Void> allOf(CompletableFuture<?>... cfs)
创建已知的已经完成的未来的唯一方法是使用completedFuture()
,它需要一个值:
public static <U> CompletableFuture<U> completedFuture(U value)
返回一个已经用给定值完成的新CompletableFuture。
并且Void
是无法实例化的,因此我需要另一种方法来创建type的已经完成的future CompletableFuture<Void>
。
做这个的最好方式是什么?
由于Void
无法实例化,因此只能完成一个CompletableFuture<Void>
带有null
结果的a
,这恰好是您调用成功完成join()
后返回的allOf()
Future 时也会得到的结果。
所以你可以使用
CompletableFuture<Void> cf = CompletableFuture.completedFuture(null);
得到这样一个已经完成的未来。
但是你也可以使用
CompletableFuture<Void> cf = CompletableFuture.allOf();
表示结果不依赖任何作业。结果将完全相同。
我在java 8中使用Completable futures,我想写一个方法,根据收到的参数,或者并行运行多个具有副作用的任务,然后返回它们的“组合”未来(使用),或者什么都不做,返回一个已经完成的未来。 但是,返回一个
我想知道在静态编程语言中创建全局常量的最佳方法是什么。Java,我们将使用一个包含常量的类,我们只需要导入这个类就可以访问所有常量。但是在静态编程语言中,有两种主要的方法: > 您可以创建一个包含所有常量的对象: 对象常量{const valCONST_1="foo"const valCONST_2="bar"const valCONST_3="toto"} 但这不是推荐的方式,正如一位语言开发者
我是一个项目的一部分,我正在尝试添加TypeScript Web Server,这将与Swagger兼容。 什么是最基本的策略来实现它,考虑到容易的可运维性。 > 对于TypeScript,我注意到存在用于从TypeScript接口生成JSON模型的Tyson库。 对于Swagger,我尝试使用“Swagger node restify”库,因为它支持向Swagger添加JSON模型。 然而,我遇
问题内容: 创建一个unique_ptr来保存在免费存储中分配的数组的正确方法是什么?Visual Studio 2013默认情况下支持此功能,但是当我在Ubuntu上使用gcc版本4.8.1时,会出现内存泄漏和未定义的行为。 可以使用以下代码重现该问题: Valgrind将给出以下输出: 问题答案: 使用专业化: 请注意,在理想情况下,不必显式使用实例化,从而避免了潜在的异常安全隐患。为此,C
本文向大家介绍JavaScript探测CSS动画是否已经完成的方法,包括了JavaScript探测CSS动画是否已经完成的方法的使用技巧和注意事项,需要的朋友参考一下 不啰嗦上代码: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
问题内容: 这个问题应该比关于更多。 我有一个子类(在python 2.7中,numpy 1.6.2),并且我发现在对象时未列出的字段名称(因此,ipython的自动完成功能无效)。 为了修复它,我尝试在子类中重写,如下所示: 结果是:。(我发现这里实际上应该在python 3.3中工作…) 作为一种解决方法,我尝试了: 据我所知,这是可行的,但当然并不优雅。 问题: 后一种解决方案对我而言是否正