الفرق بين المراجعتين ل"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) الحالية.

مصادر