Sobes.tech
Middle

Ի՞նչ նպատակով են նախատեսված Java-ի Future և CompletableFuture դասերը։

sobes.tech AI

Պատասխան AI-ից

Java-յի Future և CompletableFuture դասարանները նախատեսված են ասինխրոն հաշվարկների արդյունքներով աշխատելու համար:

  • Future ներկայացնում է արդյունք, որը հասանելի կլինի ապագայում: Future-ով դուք կարող եք ստուգել, ավարտվել է արդյոք հաշվարկը, ստանալ արդյունքը (metod get արգելափակում է հոսքը, եթե արդյունքը դեռ պատրաստ չէ) կամ չեղարկել առաջադրանքը:

  • CompletableFuture ընդլայնում է Future-ի հնարավորությունները՝ ապահովելով հարմար API ասինխրոն օպերացիաների կոմպոզիցիայի, արդյունքների առանց արգելափակման մշակման, կանչերի շղթաների և արտահայտությունների կառավարման համար: Այն աջակցում է ֆունկցիոնալ մեթոդներին, ինչպիսիք են thenApply, thenAccept, thenCompose և այլ, ինչը հեշտացնում է բարդ ասինխրոն սցենարների կառուցումը:

Օգտագործման օրինակ՝ CompletableFuture:

CompletableFuture.supplyAsync(() -> {
    // Ուժեղ գործողություն
    return "Արդյունք";
}).thenApply(result -> {
    // Արդյունքի մշակումը
    return result.toUpperCase();
}).thenAccept(finalResult -> {
    System.out.println(finalResult);
});