الفرق بين المراجعتين ل"Ruby/Mutex/sleep"

من موسوعة حسوب
< Ruby‏ | Mutex
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>sleep‎</code> الخاص بالصنف <code>Mutex</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف...')
(لا فرق)

مراجعة 13:56، 27 أكتوبر 2018

يحرر التابع sleep القفل وينام لمدة timeout ثانية إذا تم تمريره وكانت قيمته تخالف nil أو forever. يطلق الخطأ ThreadError إذا لم يتم تأمين mutex من قبل المهمة الفرعية (thread) الحالي. عندما تستأنف المهمة الفرعية، سيحاول استعادة القفل (reacquire the lock). لاحظ أنه يمكن تنبيه (wakeup ) هذا التابع دون استدعاء Thread#wakeup بشكل صريح. على سبيل المثال، عند تلقي إشارة.

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

sleep(timeout = nil)  number

المعاملات

timeout ‎

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

انظر أيضا

  • التابع owned?: يعيد القيمة true إن كان هذا القفل ممسوكًا حاليًا من قبل المهمة الفرعية (thread) الحالية.
  • التابع synchronize: يحصل على القفل (lock)، وينفذ الكتلة المعطاة، ثم يحرر القفل عند اكتمال تنفيذ الكتلة. انظر المثال تحت Mutex.

مصادر