الفرق بين المراجعتين لصفحة: «Ruby/Mutex»
أنشأ الصفحة ب' ==مصادر<span> </span>== *[http://ruby-doc.org/core-2.5.1/LocalJumpError.html قسم الصنف Mutex في توثيق روبي الرسمي.] <noinclude>{{DISPLAYT...' |
لا ملخص تعديل |
||
سطر 1: | سطر 1: | ||
==توابع الصنف العامة (Public Class Methods)== | |||
===[[Ruby/Mutex/new | التابع new]]=== | |||
ينشئ كائن جديدًا من النوع <code>Mutex</code> | |||
===[[Ruby/Mutex/lock | التابع lock]]=== | |||
يحاول مسك القفل (grab the lock)، وينتظر إذا لم يكن متاحًا. يطلق الخطأ <code>ThreadError</code> إذا تم تأمين <code>mutex</code> من قبل المهمة الفرعية (thread) الحالي. | |||
===[[Ruby/Mutex/locked-3F | التابع locked?]]=== | |||
يعيد القيمة <code>true</code> إن كان هذا القفل ممسوكًا حاليًا من قبل مهمة فرعية (thread) ما. | |||
===[[Ruby/Mutex/owned-3F | التابع owned?]]=== | |||
يعيد القيمة <code>true</code> إن كان هذا القفل ممسوكًا حاليًا من قبل المهمة الفرعية (thread) الحالية. | |||
===[[Ruby/Mutex/sleep | التابع sleep]]=== | |||
يحرر القفل وينام لمدة <code>timeout</code> ثانية إذا تم تمريره وكانت قيمته تخالف nil أو forever. يطلق الخطأ <code>ThreadError</code> إذا لم يتم تأمين <code>mutex</code> من قبل المهمة الفرعية (thread) الحالي. | |||
===[[Ruby/Mutex/synchronize | التابع synchronize]]=== | |||
يحصل على القفل (lock)، وينفذ الكتلة المعطاة، ثم يحرر القفل عند اكتمال تنفيذ الكتلة. انظر المثال تحت <code>Mutex</code>. | |||
===[[Ruby/Mutex/try_lock | التابع try_lock]]=== | |||
يحاول الحصول على القفل (lock) والعودة على الفور. حيث يعيد <code>true</code> إذ أُمِّن القفل. | |||
===[[Ruby/Mutex/unlock | التابع unlock]]=== | |||
يحرر القفل. ويطلق الاستثناء <code>ThreadError</code> إذا لم يتم تأمين <code>mutex</code> من قبل المهمة الفرعية (thread) الحالية. | |||
==مصادر<span> </span>== | ==مصادر<span> </span>== |
مراجعة 14:10، 27 أكتوبر 2018
توابع الصنف العامة (Public Class Methods)
التابع new
ينشئ كائن جديدًا من النوع Mutex
التابع lock
يحاول مسك القفل (grab the lock)، وينتظر إذا لم يكن متاحًا. يطلق الخطأ ThreadError
إذا تم تأمين mutex
من قبل المهمة الفرعية (thread) الحالي.
التابع locked?
يعيد القيمة true
إن كان هذا القفل ممسوكًا حاليًا من قبل مهمة فرعية (thread) ما.
التابع owned?
يعيد القيمة true
إن كان هذا القفل ممسوكًا حاليًا من قبل المهمة الفرعية (thread) الحالية.
التابع sleep
يحرر القفل وينام لمدة timeout
ثانية إذا تم تمريره وكانت قيمته تخالف nil أو forever. يطلق الخطأ ThreadError
إذا لم يتم تأمين mutex
من قبل المهمة الفرعية (thread) الحالي.
التابع synchronize
يحصل على القفل (lock)، وينفذ الكتلة المعطاة، ثم يحرر القفل عند اكتمال تنفيذ الكتلة. انظر المثال تحت Mutex
.
التابع try_lock
يحاول الحصول على القفل (lock) والعودة على الفور. حيث يعيد true
إذ أُمِّن القفل.
التابع unlock
يحرر القفل. ويطلق الاستثناء ThreadError
إذا لم يتم تأمين mutex
من قبل المهمة الفرعية (thread) الحالية.