التابع Mutex.sleep‎ في روبي

من موسوعة حسوب
< Ruby‏ | Mutex

يحرر التابع sleep القفل (lock)، وينام لعدد محدَّد من الثواني. يطلق الخطأ ThreadError إذا لم يكن الكائن mutex مُقفلًا من قِبَل الخيط (thread) الحالي.

عندما يستأنف الخيط عمله، ستحاول تلك المهمة استعادة القفل وتطبيقه.

لاحظ أن هذا التابع يمكنه إيقاظ (wakeup) الخيط دون استدعاء Thread.wakeup بشكل صريح كما يحدث، على سبيل المثال، عند تلقي إشارة.

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

sleep(timeout = nil)  number

المعاملات

timeout‎

عدد الثواني التي تحدِّد مدة نوم الخيط بعد تحرير القفل. القيمة الافتراضية هي: nil.

القيمة المعادة

يعاد عددٌ.

انظر أيضا

  • التابع owned?‎: يتحقق إن كان هذا القفل مطبَّق حاليًا من قبل الخيط (thread) الحالي.
  • التابع synchronize: يطبِّق القفل (lock)، وينفذ الكتلة المعطاة، ثم يحرر القفل عند اكتمال تنفيذ الكتلة.

مصادر