الفرق بين المراجعتين ل"Ruby/ConditionVariable/wait"
< Ruby | ConditionVariable
اذهب إلى التنقل
اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>wait</code> الخاص بالصنف <code>ConditionVariable</code> في روبي}}</noinclude> تصنيف: Ruby ...') |
|||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby ConditionVarialbe]] | [[تصنيف: Ruby ConditionVarialbe]] | ||
− | + | يحرر التابع <code>wait</code> القفل الممسوك (held) في الكائن <code>mutex</code> وينتظر، ثم يستعيد (reacquires) القفل عند الإستيقاظ. | |
+ | |||
+ | في حال تمرير الوسيط<code>timeout</code> (أنظر فقرة البنية العامة)، فسيُعيد (returns) هذا التابع بعد مرور <code>timeout</code> ثانية، حتى في حال عدم الإشارة (signal) من مهمة فرعية أخرى (thread). | ||
== البنية العامة == | == البنية العامة == | ||
<syntaxhighlight lang="ruby"> | <syntaxhighlight lang="ruby"> | ||
− | + | wait(mutex, timeout=nil) | |
</syntaxhighlight> | </syntaxhighlight> | ||
− | == | + | == المعاملات == |
− | |||
− | == | + | === <code>mutex</code> === |
− | + | كائن من النوع <code>[[Ruby/Mutex|Mutex]]</code> . | |
− | + | ||
− | </ | + | === <code>timeout</code> === |
+ | يمثل عدد الثواني التي يجب أن ينتظرها التابع قبل الإعادة، قيمته الإفتراضية <code>nil</code>. | ||
== أنظر أيضًا == | == أنظر أيضًا == | ||
* صفحة الصنف <code>[[Ruby/ConditionVariable|ConditionVariable]]</code>. | * صفحة الصنف <code>[[Ruby/ConditionVariable|ConditionVariable]]</code>. | ||
+ | |||
+ | * التابع <code>[[Ruby/ConditionVariable/signal|signal]]</code>: يوقظ التابع <code>signal</code> أول مهمة فرعية من بين المهام الفرعية (threads) التي تنتظر القفل (lock) المعيّن. | ||
+ | |||
+ | * التابع <code>[[Ruby/ConditionVariable/broadcast|broadcast]]</code>: يوقظ التابع <code>broadcast</code> جميع المهام الفرعية (threads) التي تنتظر القفل (lock) المعيّن. | ||
== مصادر == | == مصادر == | ||
− | * [http://ruby-doc.org/core-2.5.1/ConditionVariable.html#method- | + | * [http://ruby-doc.org/core-2.5.1/ConditionVariable.html#method-i-wait قسم التابع wait في الصنف ConditionVariable في توثيق روبي الرسمي.] |
مراجعة 09:19، 15 سبتمبر 2018
يحرر التابع wait
القفل الممسوك (held) في الكائن mutex
وينتظر، ثم يستعيد (reacquires) القفل عند الإستيقاظ.
في حال تمرير الوسيطtimeout
(أنظر فقرة البنية العامة)، فسيُعيد (returns) هذا التابع بعد مرور timeout
ثانية، حتى في حال عدم الإشارة (signal) من مهمة فرعية أخرى (thread).
البنية العامة
wait(mutex, timeout=nil)
المعاملات
mutex
كائن من النوع Mutex
.
timeout
يمثل عدد الثواني التي يجب أن ينتظرها التابع قبل الإعادة، قيمته الإفتراضية nil
.
أنظر أيضًا
- صفحة الصنف
ConditionVariable
.
- التابع
signal
: يوقظ التابع signal
أول مهمة فرعية من بين المهام الفرعية (threads) التي تنتظر القفل (lock) المعيّن.
- التابع
broadcast
: يوقظ التابع broadcast
جميع المهام الفرعية (threads) التي تنتظر القفل (lock) المعيّن.