التابع thread_variable_get
الخاص بالصنف Thread
في روبي
يُعيد التابع 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]
انظر أيضا
- التابع
thread_variable?
: يُعيد التابعthread_variable?
القيمةtrue
إن كانت السلسلة النصية (أو الرمز) موجودة كمتغير محلى المهمة الفرعية (thread-local variable). - التابع
thread_variable_set
: يعين التابعthread_variable_set
المتغيرا المحلي في المهمة الفرعية (thread local) ذو الاسمkey
ويعطيه القيمةvalue
(انظر فقرة البنية العامة). لاحظ أن هذه المتغيرات محلية في المهمة الفرعية، وليس في الألياف. يرجى الاطلاع على#thread_variable_get
و#[]
لمزيد من المعلومات.