التابع synchronize‎ الخاص بالصنف Mutex في روبي

من موسوعة حسوب

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

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

synchronize { ... }  result of the block

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

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

أمثلة

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

semaphore = Mutex.new

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

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

انظر أيضا

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

مصادر