يبدو أن عداد العد التنازلي ، الذي يطلق على طريقة العد التنازلي لكائن CountDownlatch ، ناقص العداد بمقدار 1. عندما يصل إلى 0 ، يبدأ جميع النوادل في التنفيذ.
java.util.concurrent.countdownlaatch
فئة مساعدة متزامنة ، قبل الانتهاء من مجموعة من العمليات في مؤشرات الترابط الأخرى ، تتيح واحدة أو أكثر من مؤشرات الترابط بالانتظار. استخدم عدد معين لتهيئة CountDownlatch. نظرًا لأن طريقة العد التنازلي () تسمى ، تم حظر طريقة الانتظار قبل أن يصل العد الحالي إلى الصفر. بعد ذلك ، سيتم إصدار جميع خيوط الانتظار ، وسيعود جميع المكالمات اللاحقة لـ AWAIT على الفور. لا تظهر هذه الظاهرة إلا مرة واحدة -لا يمكن إعادة تعيين التثبيت. إذا كنت بحاجة إلى إعادة ضبط العد ، ففكر في استخدام Cyclicbarrier.
CountDownlatch هي أداة التزامن عام ، والتي لها العديد من الاستخدامات. استخدم Countting 1 Contownlatch تهيئة كإيداع فتح/قفل بسيط ، أو المدخل: قبل فتح المدخل عن طريق استدعاء مؤشر ترابط العد التنازلي () ، كانت جميع مؤشرات الترابط التي تتصل بها تنتظر عند المدخل. استخدم الأحرف الأولى من countDownlatch يمكن أن تنتظر مؤشر ترابط للانتظار قبل اكتمال مؤشر ترابط N ، أو الحفاظ عليه ينتظر قبل عملية معينة.
تتمثل إحدى الميزات المفيدة في CountDownlatch في أنه لا يتطلب الخيط الذي يستدعي طريقة العد التنازلي للاستمرار حتى يتم حسابه عند الصفر ، وقبل أن تمر جميع الخيوط ، يمنع أي مؤشر ترابط من الاستمرار من خلال الانتظار.
مثال: ينتظر العديد من الرياضيين ترتيب الحكم: جميع الرياضيين مثل الحكم والرياضيين الآخرين يطلقون النتائج بعد Qi Qi
package com.ljq.test.ther . newcachedthreadpool (). أعلن الحكم نتائج النتيجة. RAUN () {try {system.out.println ("thread" + thread.currentthread (). getName () + "يستعد لقبول الأوامر") ؛ + thread.currentThRead (). +"نتائج معالجة أوامر الاستجابة") .Random ()*10000) ؛ نظام الأوامر. 0 جميع الرياضيين في مكانها.نتائج الظهر:
يستعد Thread-3 thread-3 لقبول POOTH-1-THREAD-THREAD-IS لاستعداد لقبول THREAD-2 في THREAD-2 يستعد لقبول مؤشر ترابط الأوامر. الأمر ، في انتظار النتيجة ، هو في انتظار أن تكون مجموعة مؤشرات ترابط مؤشرات ترابط النتيجة قد قبلت pool-thread-1-throw-1-thread-3 قد قبلت مجموعة مؤشرات ترابط مؤشراتيد الأوامر-3 إلى 3 استجابة لتجمع مؤشرات ترابط معالجة الأوامر -1- استجابة مؤشر الترابط 2 إلى نتائج معالجة الأوامر pool-1-thread-1 استجابة.