Concurrency مبتدئ

استخدم try-with-resources لإيقاف تشغيل المنفّذ تلقائياً.

✕ Java 8
ExecutorService exec =
    Executors.newCachedThreadPool();
try {
    exec.submit(task);
} finally {
    exec.shutdown();
    exec.awaitTermination(
        1, TimeUnit.MINUTES);
}
✓ Java 19+
try (var exec =
        Executors.newCachedThreadPool()) {
    exec.submit(task);
}
// auto shutdown + await on close
هل ترى مشكلة في هذا الكود؟ أخبرنا.
🧹

تنظيف تلقائي

يحدث الإيقاف تلقائياً عند الخروج من الكتلة.

🛡️

لا تسريبات

يُوقَف المنفّذ دائماً حتى عند حدوث استثناءات.

📖

نمط مألوف

نفس try-with-resources المستخدم مع الملفات والاتصالات.

الأسلوب القديم
إيقاف تشغيل يدوي
الأسلوب الحديث
try-with-resources
منذ JDK
19
الصعوبة
مبتدئ
الإغلاق التلقائي لـ ExecutorService
متاح

متاح على نطاق واسع منذ JDK 19 (سبتمبر 2022)

منذ Java 19، تُنفّذ ExecutorService واجهة AutoCloseable. تستدعي الدالة close() الدالةَ shutdown() وتنتظر اكتمال المهام. لا مزيد من أنماط try/finally اليدوية لإيقاف التشغيل.

مشاركة 𝕏 🦋 in