التابع Mutex.synchronize‎ في روبي

من موسوعة حسوب
< Ruby‏ | Mutex

يطبِّق التابع synchronize القفل (lock) وينفذ الكتلة المعطاة، ثم يحرر القفل عند اكتمال تنفيذ الكتلة.

البنية العامة

synchronize { ... }  result of the block

القيمة المعادة

يعاد ناتج تنفيذ الكتلة المعطاة.

أمثلة

مثال على استخدام التابع synchronize:

semaphore = Mutex.new

a = Thread.new {
  semaphore.synchronize {
    # access shared resource
  }
}

b = Thread.new {
  semaphore.synchronize {
    # access shared resource
  }
}

انظر أيضا

  • التابع sleep: يحرر القفل وينام لمدة محدَّدة من الثواني.
  • التابع try_lock: يحاول الحصول على القفل (lock) والعودة مباشرةً.

مصادر