التابع sleep
الخاص بالصنف Mutex
في روبي
يحرر التابع sleep
القفل (lock)، وينام لمدة timeout
ثانية إذا تم تمرير الوسيط timeout
وكانت قيمته تخالف nil
أو اللا نهائية (forever)
. يطلق الخطأ ThreadError
إذا لم يتم مسك الكائنmutex
من قبل المهمة الفرعية (thread) الحالية.
عندما تُستأنف المهمة الفرعية، ستحاول تلك المهمة استعادة القفل (reacquire the lock).
لاحظ أنه يمكن تنبيه (wakeup) هذا التابع دون استدعاء Thread#wakeup
بشكل صريح. كما يحدث، على سبيل المثال، عند تلقي إشارة.
البنية العامة
sleep(timeout = nil) → number
المعاملات
timeout
عدد الثواني.
القيمة المُعادة
يعيد عددا صحيحا.
انظر أيضا
- التابع
owned?
: يعيد القيمةtrue
إن كان هذا القفل ممسوكًا حاليًا من قبل المهمة الفرعية (thread) الحالية. - التابع
synchronize
: يحصل على القفل (lock)، وينفذ الكتلة المعطاة، ثم يحرر القفل عند اكتمال تنفيذ الكتلة.