يحكي مثال هذه المقالة استخدام واجهة المنفذ في Java. شاركه للجميع للرجوع إليه. التفاصيل هي كما يلي:
1. تعريف واجهة المنفذ في جافا
الواجهة العامة executor {void execute (Runnable Commice) ؛}
2. قم بإنشاء تجمع مؤشر ترابط بواسطة أساليب المصنع الثابتة تحت executors:
أ) NewfixedThreadPool: إنشاء تجمع خيوط طويل. بعد الوصول إلى الحد الأقصى لعدد الخيوط ، لم يعد عدد المواضيع يزيد.
إذا انتهى سلسلة الرسائل بسبب استثناء غير متوقع ، فسيقوم تجمع مؤشرات الترابط بتكملة مؤشر ترابط جديد.
ب) NewCachedHreadPool: إنشاء تجمع الخيط القابل للتخطيط. عندما يتجاوز طول التجمع متطلبات المعالجة ، يمكنك استرداد مؤشرات الترابط الخاملة.
ج) NewsingleThreadPool: إنشاء منفذ واحد.
د) NewsCheduleDhreadPool: قم بإنشاء تجمع خيوط طويل الأجل ، ويدعم الوقت -Period وتنفيذ المهمة الدورية.
على غرار الموقت. ومع ذلك ، يعتمد المؤقت على الوقت المطلق ، وهو حساس للتغيرات في ساعة النظام ، بينما يدعم ScurdeThreadPoolexecutor الوقت النسبي فقط.
3. قارن ملخص التطبيق لفئة المؤقت
1) الموقت هو الخيط الوحيد الذي يؤدي جميع مهام المؤقت. إذا كانت المهمة خارج الوقت ، فسوف تتسبب ذلك في وقت آخر للمشاكل بدقة.
2) إذا قام Timrtask بإلغاء تشوهات غير محددة ، فسيكون للوقود الموقت سلوك غير متوقع. لذلك ، يمكن لـ SecretleDHreadPoolexecutor استبدال الموقت بالكامل.
3) من أجل حل دورة حياة خدمات التنفيذ ، تقوم واجهة ExecutorService بتوسيع المنفذ. سيتضمن تجمع الخيوط 3 حالات: الجري ، والإغلاق ، والإنهاء.
4. يمكن الاتصال به والمستقبل
نظرًا لأن Runnable لا يعيد القيمة ولا يمكن إلقاؤه من الشذوذ الذي تم فحصه ، فإن الاستدعاء هو تجريد أفضل. (يشير Callable <Void> إلى مهمة عدم وجود قيمة إرجاع).
يصف المستقبل دورة حياة المهمة ، ويوفر الطرق ذات الصلة للحصول على نتائج المهمة ، وإلغاء المهمة ، والتحقق من المهمة لإكمالها أو إلغاؤها.
5.PltingService يدمج وظائف المنفذ و blockingqueue.
يمكن أن يمنع استطلاعها واستطلاعها من الانتهاء من المهمة.
من المأمول أن يكون هذا المقال مفيدًا لتصميم برنامج Java للجميع.