الفرق بين المراجعتين لصفحة: «Ruby/ConditionVariable/wait»
< Ruby | ConditionVariable
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: التابع <code>wait | <noinclude>{{DISPLAYTITLE: التابع <code>ConditionVariable.wait</code> في روبي}}</noinclude> | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby ConditionVarialbe]] | [[تصنيف: Ruby ConditionVarialbe]] | ||
يحرِّر التابع <code>wait</code> القفل المطبَّق (held) على الكائن <code>mutex</code> وينتظر، ثمَّ يستعيد القفل عند الإستيقاظ. | |||
في حال تمرير الوسيط<code>timeout</code> ( | في حال تمرير الوسيط <code>timeout</code> (انظُر فقرة البنية العامة)، يُعيِد هذا التابع بعد مرور <code>timeout</code> ثانية، حتى في حال عدم الإشارة (signal) من خيط آخر (thread). | ||
== البنية العامة == | == البنية العامة == | ||
سطر 15: | سطر 15: | ||
=== <code>mutex</code> === | === <code>mutex</code> === | ||
كائنٌ من النوع <code>[[Ruby/Mutex|Mutex]]</code>. | |||
=== <code>timeout</code> === | === <code>timeout</code> === | ||
يمثل عدد الثواني التي يجب أن ينتظرها التابع قبل الإعادة، قيمته الإفتراضية <code>nil</code>. | يمثل عدد الثواني التي يجب أن ينتظرها التابع قبل الإعادة، قيمته الإفتراضية هي: <code>nil</code>. | ||
== | == انظر أيضًا == | ||
* | * التابع <code>[[Ruby/ConditionVariable/signal|signal]]</code>: يوقظ أول مهمة فرعية من بين المهام الفرعية (threads) التي تنتظر القفل (lock) المعيّن. | ||
* التابع <code>[[Ruby/ConditionVariable/broadcast|broadcast]]</code>: يوقظ جميع المهام الفرعية (threads) التي تنتظر القفل (lock) المعيّن. | |||
* التابع <code>[[Ruby/ConditionVariable/broadcast|broadcast]]</code>: يوقظ | |||
== مصادر == | == مصادر == | ||
* [http://ruby-doc.org/core-2.5.1/ConditionVariable.html#method-i-wait قسم التابع wait في الصنف ConditionVariable في توثيق روبي الرسمي.] | * [http://ruby-doc.org/core-2.5.1/ConditionVariable.html#method-i-wait قسم التابع wait في الصنف 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) المعيّن.