[concurrency-interest] CompletableFuture.supply

Pavel Rappo pavel.rappo at gmail.com
Wed Mar 11 12:11:03 EDT 2015

Hi, given [1] I wonder if anyone thinks this could be a useful method to be
added to j.u.c.CompletableFuture:

    public static <U> CompletableFuture<U> supply(Supplier<U> supplier)

Just a completable future that is to be completed by one of those who claim its
result. Right now I simulate it like this:

    CompletableFuture.supply(supplier, Runnable::run)       (A)

or a less flexible way [2] like this:

    CompletableFuture.complete( supplier.get() )            (B)

My concern is that it's not very pretty. Also it is the only method which
missing its non-async counterpart (not that I have any kind of method-symmetry
OCD, but anyway).

[1] http://cs.oswego.edu/pipermail/concurrency-interest/2015-January/013600.html
[2] In case "B" I'm starting (unconditionally and synchronously) a possibly
    heavy computation. Which may not be needed at all (e.g. theAcceptEither).

More information about the Concurrency-interest mailing list