الفرق بين المراجعتين لصفحة: «Ruby/Mutex/sleep»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: التابع <code>sleep | <noinclude>{{DISPLAYTITLE: التابع <code>Mutex.sleep</code> في روبي}}</noinclude> | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Mutex]] | [[تصنيف: Ruby Mutex]] | ||
يحرر التابع <code>sleep</code> القفل (lock)، وينام | يحرر التابع <code>sleep</code> القفل (lock)، وينام لعدد محدَّد من الثواني. يطلق الخطأ <code>[[Ruby/ThreadError|ThreadError]]</code> إذا لم يكن الكائن <code>mutex</code> مُقفلًا من قِبَل الخيط (thread) الحالي. | ||
عندما | عندما يستأنف الخيط عمله، ستحاول تلك المهمة استعادة القفل وتطبيقه. | ||
لاحظ | لاحظ أن هذا التابع يمكنه إيقاظ (wakeup) الخيط دون استدعاء <code>[[Ruby/Thread/wakeup|Thread.wakeup]]</code> بشكل صريح كما يحدث، على سبيل المثال، عند تلقي إشارة. | ||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">sleep(timeout = nil) → number</syntaxhighlight> | <syntaxhighlight lang="ruby">sleep(timeout = nil) → number</syntaxhighlight> | ||
سطر 13: | سطر 13: | ||
===<code>timeout</code>=== | ===<code>timeout</code>=== | ||
عدد الثواني. | عدد الثواني التي تحدِّد مدة نوم الخيط بعد تحرير القفل. القيمة الافتراضية هي: <code>nil</code>. | ||
==القيمة | ==القيمة المعادة== | ||
يعاد عددٌ. | |||
==انظر أيضا== | ==انظر أيضا== | ||
* التابع <code>[[Ruby/Mutex/owned-3F|owned?]]</code>: | * التابع <code>[[Ruby/Mutex/owned-3F|owned?]]</code>: يتحقق إن كان هذا القفل مطبَّق حاليًا من قبل الخيط (thread) الحالي. | ||
* التابع <code>[[Ruby/Mutex/synchronize|synchronize]]</code>: | * التابع <code>[[Ruby/Mutex/synchronize|synchronize]]</code>: يطبِّق القفل (lock)، وينفذ الكتلة المعطاة، ثم يحرر القفل عند اكتمال تنفيذ الكتلة. | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Mutex.html#method-i-sleep قسم | *[http://ruby-doc.org/core-2.5.1/Mutex.html#method-i-sleep قسم التابع sleep في الصنف Mutex في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 05:52، 20 نوفمبر 2018
يحرر التابع sleep
القفل (lock)، وينام لعدد محدَّد من الثواني. يطلق الخطأ ThreadError
إذا لم يكن الكائن mutex
مُقفلًا من قِبَل الخيط (thread) الحالي.
عندما يستأنف الخيط عمله، ستحاول تلك المهمة استعادة القفل وتطبيقه.
لاحظ أن هذا التابع يمكنه إيقاظ (wakeup) الخيط دون استدعاء Thread.wakeup
بشكل صريح كما يحدث، على سبيل المثال، عند تلقي إشارة.
البنية العامة
sleep(timeout = nil) → number
المعاملات
timeout
عدد الثواني التي تحدِّد مدة نوم الخيط بعد تحرير القفل. القيمة الافتراضية هي: nil
.
القيمة المعادة
يعاد عددٌ.
انظر أيضا
- التابع
owned?
: يتحقق إن كان هذا القفل مطبَّق حاليًا من قبل الخيط (thread) الحالي. - التابع
synchronize
: يطبِّق القفل (lock)، وينفذ الكتلة المعطاة، ثم يحرر القفل عند اكتمال تنفيذ الكتلة.