المنفّذات والنتائج المستقبلية (Executors وFutures)
في هذا الدرس 4 موضوعات
هذا الدرس مخطط له. يعرض المخطط أدناه الموضوعات التي سيغطيها، ولم يُنشر الدرس الكامل بعد.
نص الدروس والتمارين باللغة الإنجليزية، بينما تبقى واجهة الموقع وعناوين الدروس بالعربية.
في هذا الدرس
submit tasks and collect results.
الموضوعات المخطط لها
ExecutorServiceseparates submitting a task from how it runs.Runnablereturns nothing;Callable<V>returns a value and may throw.submitreturns aFuture<V>;get()blocks, optionally with a timeout.ExecutionExceptionwraps the task's exception; the cause is inside.invokeAllruns a batch and returns when all finish.
تفاصيل المخطط المبدئي
عرض عملي
ExecutorService pool = Executors.newFixedThreadPool(4);
Future<BigDecimal> f = pool.submit(() -> supplier.fetchPrice(sku));
BigDecimal price = f.get(2, TimeUnit.SECONDS);اختبر فهمك
Where does a task's exception surface?
أظهر الإجابة
In Future.get(), wrapped in ExecutionException.
التطبيق
طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.
تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.