التابع ConditionVariable.wait في روبي

من موسوعة حسوب
< Ruby‏ | ConditionVariable
مراجعة 20:46، 10 نوفمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (مراجعة وتدقيق)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

يحرِّر التابع ‎wait القفل المطبَّق (held) على الكائن mutex وينتظر، ثمَّ يستعيد القفل عند الإستيقاظ.

في حال تمرير الوسيط timeout (انظُر فقرة البنية العامة)، يُعيِد هذا التابع بعد مرور timeout ثانية، حتى في حال عدم الإشارة (signal) من خيط آخر (thread).

البنية العامة

wait(mutex, timeout=nil)

المعاملات

mutex

كائنٌ من النوع Mutex.

timeout

يمثل عدد الثواني التي يجب أن ينتظرها التابع قبل الإعادة، قيمته الإفتراضية هي: nil.

انظر أيضًا

  • التابع signal: يوقظ أول مهمة فرعية من بين المهام الفرعية (threads) التي تنتظر القفل (lock) المعيّن. 
  • التابع broadcast: يوقظ جميع المهام الفرعية (threads) التي تنتظر القفل (lock) المعيّن. 

مصادر