Kodkitabi

CompletableFuture

Java içinde completablefuture kavramını, kullanım sınırlarını ve güvenilir uygulama biçimini öğrenin.

CompletableFuture, Java ile güvenilir girdi çıktı çalışırken hata durumlarını denetlenebilir bir akışa dönüştürmek için kullanılan yaklaşımı açıklar. Asenkronluk bekleyen işi iş parçacığını gereksiz yere meşgul etmeden sürdürür; sonuç, hata ve iptal aynı sözleşmenin parçalarıdır.

Başlatılan işi beklememek hataları kaybettirir; zaman aşımı, iptal ve yaşam döngüsü sahipliği çağrı zinciri boyunca açıkça aktarılmalıdır. İsimlendirme, küçük sorumluluklar ve görünür veri akışı; kodun yalnızca çalışmasını değil, anlaşılmasını da sağlar. Aşağıdaki örnek, konuyu küçük ve izlenebilir bir akış içinde gösterir.

Yaygın hata ve doğru yaklaşım

Kavramı her durumda uygulanacak bir kural gibi kullanmak gereksiz karmaşıklık üretir. Önce problemin sınırını belirleyin, ardından en küçük yeterli yapıyı seçin.

Sonuç

CompletableFuture, doğru sınırlar ve açık bir sözleşmeyle kullanıldığında Java kodunun güvenilirliğini artırır. Önce doğruluğu kurun; ölçüm göstermeden karmaşık optimizasyona yönelmeyin.

CompletableFuture örneği
import java.nio.file.Files;
import java.nio.file.Path;

public class Main {
    static String readTitle(Path path) throws java.io.IOException {
        try (var lines = Files.lines(path)) {
            return lines.findFirst().orElse("");
        }
    }
}