التابع thread_variable_get‎ الخاص بالصنف Thread في روبي

من موسوعة حسوب
< Ruby‏ | Thread
مراجعة 12:57، 6 نوفمبر 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>thread_variable_get‎</code> الخاص بالصنف <code>Thread</code> في روبي}}</noinclude> تصنيف: Ruby...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يُعيد التابع thread_variable_get قيمة المتغير المحلي في المهمة الفرعية (thread local variable) الذي تم تعيينه. لاحظ أن هذه المتغيرات تختلف عن القيم محلية الألياف (fiber local values). بالنسبة للقيم محلية الألياف (fiber local values)، يرجى الاطلاع على #[] و #[]=.

تُحمل القيم محلية المهمة الفرعية Thread مع المهام الفرعية، ولا تشمل الألياف. مثلا:


تعاد القيمة "bar" للمهمة فرعية المحلية (thread local)، فيما تعاد nil للليف المحلية (fiber local). يتم تنفيذ الليف في نفس المهمة الفرعية، لذلك ستكون القيم المحلية في المهمة الفرعية متاحة.

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

thread_variable_get(key)   obj or nil

المعاملات

key‎

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

أمثلة

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

Thread.new {
  Thread.current.thread_variable_set("foo", "bar") # set a thread local
  Thread.current["foo"] = "bar"                    # set a fiber local
  Fiber.new {
    Fiber.yield [
      Thread.current.thread_variable_get("foo"), # get the thread local
      Thread.current["foo"],                     # get the fiber local
    ]
  }.resume
}.join.value # => ['bar', nil]‎

انظر أيضا

مصادر