CompletableFuture链无法按预期运行

时间:2019-10-04 13:39:35

标签: java asynchronous future completable-future

当我在CompletableFuture / supplyAsync等方法中使用I / O操作时,

thenApply不能按预期工作

我是CompletableFuture的新手,所以我想我缺少一些东西。

private static void completableTest() {
    CompletableFuture.supplyAsync(() -> {
        GET(); 
        writeToFile("sync");
        System.out.println("sync");
        return "";
    }).thenApply(t -> {
        GET(); 
        writeToFile("apply");
        System.out.println("apply");
        return "";
    }).thenAccept(t -> {
        writeToFile("accept");
        System.out.println("accept");
    });

GET()进行httpGet调用;

writeToFile()将内容写入文件;

当我使用GET()或将其替换为Thread.sleep()时,我的文件也为空。但是,如果我不使用GET(),效果很好。

注意:当我最后使用join()时,它可以正常工作。 (文件具有正确的输出)。

0 个答案:

没有答案