Executors وFutures
تعلّم إدارة الخيوط باستخدام Executors والتعامل مع النتائج باستخدام Futures.
Executors وFutures درس مجاني في Java Academy على CoddyKit. هذا هو الدرس 1 من أصل 2. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Java Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Java Academy 2 دروس في المجموع.
مقدمة
تسهّل Executors إدارة الخيوط. وتمنحكم Futures نتائج المهام التي تعمل بشكل غير متزامن.
ExecutorService
يدير ExecutorService مجموعة من الخيوط، لذلك لا تضطرون إلى إنشائها يدويًا في كل مرة.
الشفرة: إرسال Runnable
ترسل هذه الشفرة Runnable إلى ExecutorService يحتوي على خيطين.
import java.util.concurrent.*;public class Main {
public static void main(String[] args) {
ExecutorService executor = Executors.newFixedThreadPool(2);
executor.submit(() -> System.out.println("Task executed"));
executor.shutdown();
}
}
Futures
يمثل Future<T> نتيجة مهمة غير متزامنة. ويمكنكم استدعاء get() للانتظار حتى ظهور النتيجة.
الشفرة: Callable + Future
ترسل هذه الشفرة Callable يعيد Integer. ويحظر get() التنفيذ حتى تصبح النتيجة جاهزة.
import java.util.concurrent.*;public class Main {
public static void main(String[] args) throws Exception {
ExecutorService executor = Executors.newSingleThreadExecutor();
Future<Integer> f = executor.submit(() -> 2 + 3);
System.out.println("Result: " + f.get());
executor.shutdown();
}
}
المهلة + الإيقاف
يمكنكم ضبط get(timeout) لتجنب الانتظار إلى ما لا نهاية. واحرصوا دائمًا على استدعاء shutdown() في ExecutorService.
تحقق من Futures
تحقق سريع: ماذا يمثل Future في Java؟
مراجعة
مراجعة: تدير Executors الخيوط. وتمثل Futures النتائج. استخدموا submit() للمهام، وget() للنتائج، وshutdown() عند الانتهاء.
الأسئلة الشائعة
هل درس «Executors وFutures» مجاني؟
نعم — نص درس «Executors وFutures» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Java Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Java Academy 2 دروس في المجموع.
ماذا ستتعلم في «Executors وFutures»؟
تعلّم إدارة الخيوط باستخدام Executors والتعامل مع النتائج باستخدام Futures. تتمرن على Java Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Java Academy؟
لا تُشترط خبرة سابقة. Java Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 2.
كم من الوقت يستغرق درس «Executors وFutures»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Java Academy هذا؟
نعم. كل درس في Java Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- Executors وFutures
- المهام ودورات الحياة