首页 > 解决方案 > CompletableFuture 链接未按预期工作

问题描述

CompletableFuture当我在supplyAsync/thenApply等方法中使用 I/O 操作时没有按预期工作

我是新手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()。(文件有正确的输出)。

标签: javaasynchronousfuturecompletable-future

解决方案


推荐阅读