التابع ThreadGroup.add في روبي

من موسوعة حسوب
مراجعة 13:20، 4 ديسمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (إنشاء الصفحة.)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يضيف التابع add الخيط المُمرَّر إليه إلى مجموعة الخيوط التي استدعي معها. انتبه إلى أن الخيط سيزال من أية مجموعة خيوط أضيف إليها مسبقًا.

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

add(thread)  thgrp

المعاملات

thread

الخيط المراد إضافته إلى المجموعة المعطاة.

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

تعاد مجموعة الخيوط المعطاة بعد إضافة الخيط thread إليها.

أمثلة

مثال على استعمال التابع add:

puts "Initial group is #{ThreadGroup::Default.list}"
tg = ThreadGroup.new
t1 = Thread.new { sleep }
t2 = Thread.new { sleep }
puts "t1 is #{t1}"
puts "t2 is #{t2}"
tg.add(t1)
puts "Initial group now #{ThreadGroup::Default.list}"
puts "tg group now #{tg.list}"

ناتج تنفيذ هذه الشيفرة سيعيد ما يلي:

Initial group is #<Thread:0x401bdf4c>
t1 is #<Thread:0x401b3c90>
t2 is #<Thread:0x401b3c18>
Initial group now #<Thread:0x401b3c18>#<Thread:0x401bdf4c>
tg group now #<Thread:0x401b3c90>

انظر أيضًا

  • التابع enclose: يمنع إضافة أو إزالة أي خيط من مجموعة الخيوط التي استدعيت معه.
  • التابع ?enclosed: يتحقق إذا كانت مجموعة الخيوط التي استدعيت معه مغلقةً أم لا.
  • التابع list: يعيد مصفوفة تحوي جميع الكائنات Thread الموجودة والتابعة لمجموعة الخيوط التي استدعيت معه.

مصادر