Concurrency متوسط

سلسل العمليات غير المتزامنة دون حجب باستخدام CompletableFuture.

✕ Pre-Java 8
Future<String> future =
    executor.submit(this::fetchData);
String data = future.get(); // blocks
String result = transform(data);
✓ Java 8+
CompletableFuture.supplyAsync(
    this::fetchData
)
.thenApply(this::transform)
.thenAccept(IO::println);
هل ترى مشكلة في هذا الكود؟ أخبرنا.
🔗

قابل للتسلسل

اجمع الخطوات غير المتزامنة في خط معالجة مقروء.

🚫

غير محجوب

لا يجلس خيط في انتظار النتائج بلا عمل.

🛡️

معالجة الأخطاء

exceptionally() و handle() لاسترداد الأخطاء بشكل نظيف.

الأسلوب القديم
Future.get() المحجوب
الأسلوب الحديث
CompletableFuture
منذ JDK
8
الصعوبة
متوسط
تسلسل CompletableFuture
متاح

متاح على نطاق واسع منذ JDK 8 (مارس 2014)

تُتيح CompletableFuture خطوط معالجة غير متزامنة غير محجوبة. سلسل العمليات بـ thenApply و thenCompose و thenAccept. عالج الأخطاء بـ exceptionally(). اجمع عدة مستقبلات بـ allOf/anyOf.

مشاركة 𝕏 🦋 in