نتائج البحث

اذهب إلى التنقل اذهب إلى البحث

الصنف Thread في روبي

المهام الفرعية (Threads، وتدعى "الخيوط" أيضًا) هي الطريقة التي تنفذ بها روبي البرمجة المتزامنة (concurrent programming). البرامج التي تتطلب تنفيذ عدة مهام فرعية يمكنها استخدام الصنف Thread. على سبيل المثال، يمكننا إنشاء مهمة فرعية جديدة منفصلة عن المهمة الرئيسية باستخدام التابع new. thr = Thread.new { puts "Whats the big deal" }‎ ثم يمكننا إيقاف تنفيذ المهمة الفرعية الرئيسية مؤقتًا إلى حين إنتهاء المهمة الفرعية خاصتنا باستخدام التابع join: thr.join #=> "Whats the big deal"‎ في حال عدم استدعاء التابع join قبل ...

المعامل []‎ الخاص بالصنف Thread في روبي

يعدُّ المعامل [] مرجعًا للخاصيات (Attribute Reference)، إذ يُعيد قيمة متغير محلي الليف fiber) local variable، أو الليف الأصلي للمهمة الفرعية الحالية إن لم يكن المتغير موجودًا داخل ليف) باستخدام إما رمز أو سلسلة نصية. إن لم يكن المتغير المعطى (انظر فقرة البنية العامة) موجودًا، فستعاد nil. [ Thread.new { Thread.current["name"] = "A" }, Thread.new { Thread.current[:name] = "B" }, Thread.new { Thread.current["name"] = "C" } ].each do |th| th.join puts "#{th.inspect}: #{th[:name]}" end‎ هذا سوف ينتج: ...

المعامل ‎[]=‎‎ الخاص بالصنف Thread في روبي

يعيّن المعامل [] عندما يُستدعى بالشكل thr[sym] = obj قيمة المتغير sym محلي الليف (fiber-local variable)، باستخدام إما الرمز أو السلسلة النصية obj أو ينشئها. ويسمى آنذاك معامل تعيين الخاصيات. بالنسبة للمتغيرات محلية المهمة الفرعية (thread-local variables)، يرجى الاطلاع على thread_variable_set و thread_variable_get. البنية العامة thr[sym] = obj→ obj‎ القيمة المعادة تعاد قيمة المتغير محلي الليف (fiber-local variable) بعد تعيينها إلى القيمة obj. انظر أيضًا المعامل []: يُعيد قيمة متغير محلي الليف fiber) local variable، أو الليف الأصلي للمهمة الفرعية الحالية ...

وحدة الخيوط العاملة (Worker Threads) في Node.js

مؤشر الاستقرار: 1 - تجريبي توفر وحدة worker طريقة لإنشاء بيئات متعددة تعمل علي خيوط مستقلة، ولإنشاء قنوات رسائل بينها. ويمكن الوصول إليها باستخدام الراية ‎--experimental-worker flag بالإضافة إلى: const worker = require('worker_threads'); وتفيد الخيوط العاملة (Workers) في أداء عمليات JavaScript كثيفة الاستخدام لوحدة المعالجة المركزية؛ ويجب ألَّا تستخدم في عمليات الإدخال والإخراج I/O، إذ تتعامل آلياتُ Node.js المدمجة لتنفيذ العمليات بشكل غير متزامن معها بشكل أكثر كفاءة من خيوط Worker. علي عكس العمليات التابعة أو عند استخدام وحدة cluster، يمكن ...

التابع Thread.thread_variable_get‎ في روبي

يُعيد التابع thread_variable_get قيمة المتغير المحلي للمهمة الفرعية (thread local variable) الذي تم تعيينه. لاحظ أنَّ هذه المتغيرات تختلف عن القيم محلية الألياف (fiber local values). بالنسبة للقيم محلية الألياف، يرجى الاطلاع على المعاملين [] و ‎[]=‎. تُحمل القيم محلية المهمة الفرعية مع المهام الفرعية، وذلك على خلاف الألياف. البنية العامة thread_variable_get(key) → obj or nil‎ المعاملات key‎ سلسلة نصية أو رمز. القيمة المعادة تعاد قيمة المتغير المحلي للمهمة الفرعية الذي تم تعيينه. أمثلة مثال على استخدام التابع thread_variable_get‎: Thread.new ...

التابع Thread.report_on_exception=‎ في روبي

يضبط التابع report_on_exception عند استدعائه بالشكل report_on_exception= boolean‎ حالة "التبليغ عند الاستثناء" (report on exception). عندما تكون القيمة المنطقية هي true، سترث كل المهام الفرعية التي تم إنشاؤها لاحقا الشرط (condition) وتبعث رسالة إلى المجرى ‎$stderr إذا أدى استثناء ما إلى إنهاء مهمة فرعية. يوجد أيضًا تابع نسخة (instance level method) لتعيين هذا الخيار لمهمة فرعية معينة؛ راجع report_on_exception=‎. البنية العامة report_on_exception= boolean→ true or false‎ القيمة المعادة تعاد القيمة المنطقية boolean التي تمثل الحالة الجديدة لحالة "التبليغ عند الاستثناء". ...

التابع Thread.thread_variables‎ في روبي

يُعيد التابع thread_variables مصفوفة من أسماء المتغيرات المحلية في المهمة الفرعية (thread-local) على شكل رموز. لاحظ أن هذه المتغيرات ليست محلية الألياف (fiber local). يرجى الاطلاع على صفحة المعامل [] والتابع thread_variable_get لمزيد من التفاصيل. البنية العامة thread_variables→ array‎ القيمة المعادة تعاد مصفوفة من أسماء المتغيرات المحلية في المهمة الفرعية (thread-local) على شكل رموز. أمثلة مثال على استخدام التابع thread_variables‎: thr = Thread.new do Thread.current.thread_variable_set(:cat, 'meow') Thread.current.thread_variable_set("dog", 'woof') end thr.join ...

الصنف ConditionVariable في روبي

توسع كائنات الصنف ConditionVariable عمل الصنف Mutex. فمن الممكن باستخدام المتغيرات الشرطية إيقاف مهمة حرجة (critical section) في أثناء تنفيذها إلى حين إتاحة مورد ما. إليك المثال التالي: mutex = Mutex.new resource = ConditionVariable.new a = Thread.new { mutex.synchronize { # Thread 'a' now needs the resource resource.wait(mutex) # 'a' can now have the resource } } b = Thread.new { mutex.synchronize { ...

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

يتحقق التابع locked?‎ إن كان هذا القفل مُطبَّق حاليًا من قبل خيط (thread) ما. البنية العامة locked? → true or false‎ القيمة المعادة تعاد القيمة true إن كان هذا القفل مُطبَّق حاليًا من قبل خيط (thread) ما، وإلا فستعاد القيمة false. انظر أيضا التابع lock: يحاول مسك القفل (grab the lock)، وينتظر إذا لم يكن متاحًا. التابع owned?‎: يتحقق إن كان هذا القفل مُطبَّق حاليًا من قبل الخيط (thread) الحالي. مصادر قسم التابع locked?‎ في الصنف Mutex‎ في توثيق روبي الرسمي.

التابع Thread.DEBUG‎ في روبي

يُعيد التابع DEBUG مستوى التصحيح في المهمة الفرعية (thread debug level). متوفر فقط في حالة تصريفه (compiled) مع الخيار THREAD_DEBUG = -1. البنية العامة DEBUG → num‎ القيمة المعادة يعاد عددٌ يمثل مستوى التصحيح في المهمة الفرعية (thread debug level). انظر أيضًا التابع DEBUG=‎: يعيّن عند استدعائه بالشكل DEBUG = num قيمة مستوى تصحيح المهمة الفرعية (thread debug level) إلى القيمة num. مصادر قسم التابع DEBUG‎ في الصنف Thread‎ في توثيق روبي الرسمي.

التابع Thread.abort_on_exception=‎ في روبي

يضبط التابع abort_on_exception عند استدعائه بالشكل abort_on_exception= boolean حالة الشرط العام "المقاطعة عند حدوث استثناء؟" (abort on exception) إلى القيمة المنطقية boolean. عندما تكون القيمة المنطقية هي true، إذا تم إيقاف هذه المهمة الفرعية بواسطة استثناء، فسيطلق ذلك الاستثناء مجددًا في المهمة الفرعية الرئيسية. وستعاد الحالة الجديدة. يوجد أيضًا تابع نسخة (instance method) لتعيين هذا الخيار لمهمة فرعية معينة، راجع الصفحة abort_on_exception=‎. البنية العامة abort_on_exception= boolean→ true or false‎ القيمة المعادة تعاد القيمة المنطقية boolean بعد ضبطها للشرط العام "المقاطعة ...

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

يضيف التابع 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 ...

التابع Thread.thread_variable_set‎ في روبي

يعين التابع thread_variable_set قيمة متغير محلي ذي اسم محدَّد في المهمة الفرعية (thread local) إلى قيمة معيَّنة. لاحظ أنَّ هذه المتغيرات محلية في المهمة الفرعية، وليس في الألياف. يرجى الاطلاع على صفحة التابع thread_variable_get والمعامل [] لمزيد من المعلومات. البنية العامة thread_variable_set(key, value)‎ المعاملات key‎ اسم المتغير. value‎ قيمة المتغير. انظر أيضًا التابع thread_variable_get: يُعيد قيمة المتغير المحلي في المهمة الفرعية (thread local variable) الذي تم تعيينه. التابع thread_variables: يُعيد مصفوفة من أسماء المتغيرات المحلية في المهمة الفرعية (thread-local) على شكل رموز. مصادر ...

 التابع ConditionVariable.wait في روبي

يحرِّر التابع ‎wait القفل المطبَّق (held) على الكائن mutex وينتظر، ثمَّ يستعيد القفل عند الإستيقاظ. في حال تمرير الوسيط timeout (انظُر فقرة البنية العامة)، يُعيِد هذا التابع بعد مرور timeout ثانية، حتى في حال عدم الإشارة (signal) من خيط آخر (thread). البنية العامة wait(mutex, timeout=nil) المعاملات mutex كائنٌ من النوع Mutex. timeout يمثل عدد الثواني التي يجب أن ينتظرها التابع قبل الإعادة، قيمته الإفتراضية هي: nil. انظر أيضًا التابع signal: يوقظ أول مهمة فرعية من بين المهام الفرعية (threads) التي تنتظر القفل (lock) المعيّن.  ...

الصنف ThreadGroup في روبي

يوفر الصنف ThreadGroup وسيلة لتتبع عددٍ من الخيوط (threads) باستمرار وكأنهم مجموعة واحدة. يمكن أن يكون الخيط Thread في مجموعة خيوط ThreadGroup واحدة على الأكثر فقط. وإضافة هذا الخيوط إلى مجموعة جديدة يؤدي إلى إزالته من أية مجموعة أضيف إليها سابقًا. الخيوط المنشأة حديثًا تنتمي إلى المجموعة نفسها التي أُنشِئَت هذه الخيوط منها. الثوابت Default المجموعة ThreadGroup الافتراضية التي تُنشَأ عند بدء روبي. تنتمي جميع الخيوط لهذه المجموعة بشكل افتراضي. توابع النسخة العامة add يضيف الخيط المُمرَّر إليه إلى مجموعة ...

التابع Thread.thread_variable?‎‎ في روبي

يتحقق التابع thread_variable?‎ إن كانت السلسلة النصية أو الرمز المعطى موجودًا كمتغير محلي للمهمة الفرعية (thread-local variable). لاحظ أنَّ هذه المتغيرات ليست متغيرات محلية الألياف (fiber local variables). يرجى الاطلاع على صفحة المعامل [] والتابع thread_variable_get لمزيد من التفاصيل. البنية العامة thread_variable?(key)→ true or false‎ المعاملات key‎ سلسلة نصية أو رمز. القيمة المعادة تعاد القيمة true إن كانت السلسلة النصية أو الرمز key المعطى موجودًا كمتغير محلي للمهمة الفرعية (thread-local variable)، وإلا فستعاد القيمة false. أمثلة مثال على استخدام التابع thread_variable?‎: ...

التابع Thread.new‎ في روبي

ينشئ التابع new مهمة فرعية جديدة تنفّذ الكتلة المعطاة. البنية العامة new { ... }→ thread new(*args, &proc)→ thread new(*args) { |args| ... } → thread‎ سيتم تمرير كل المعاملات args الممررة إلى التابع new إلى الكتلة. سيُطلق الاستثناء ThreadError إذا تم استدعاء new دون كتلة. إذا كنت ترغب باشتقاق صنف فرعي (subclass) من Thread، تأكد من استدعاء المتغير super داخل التابع initialize، وإلا سيُطلق الاستثناء ThreadError. المعاملات args‎ المعاملات التي يراد تمريرها إلى الكتلة. proc‎ كائن من النوع Proc. القيمة المعادة تعاد مهمة ...

الصنف Mutex في روبي

يمكن استخدام الصنف Mutex وكائناته كواجهة لتنسيق الوصول إلى البيانات المشتركة من عدة خيوط (threads) موجودة وتعمل في نفس الوقت. إليك هذا المثال: semaphore = Mutex.new a = Thread.new { semaphore.synchronize { # access shared resource } } b = Thread.new { semaphore.synchronize { # access shared resource } } توابع الصنف العامة (Public Class Methods) new ينشئ كائنًا جديدًا من النوع Mutex. توابع النسخة العامة (Public Instance Methods) lock يحاول مسك القفل (grab ...

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

يتحقق التابع ‎owned?‎ إن كان هذا القفل (lock) مُطبَّق حاليًا من قبل الخيط (thread) الحالي. البنية العامة owned? → true or false‎ القيمة المعادة تُعاد القيمة true إن كان هذا القفل مُطبَّق حاليًا من قبل الخيط الحالي، وإلا فستُعاد القيمة false. انظر أيضا التابع locked?‎: يتحقق إن كان هذا القفل مُطبَّق حاليًا من قبل الخيط (thread) ما. مصادر قسم التابع owned?‎ في الصنف Mutex‎ في توثيق روبي الرسمي.

التابع ‎Thread.DEBUG=‎‎ في روبي

يعيّن التابع DEBUG عند استدعائه بالشكل DEBUG = num قيمة مستوى تصحيح المهمة الفرعية (thread debug level) إلى القيمة num. متوفر فقط في حالة تصريفه (compiled) مع الخيار THREAD_DEBUG = -1. البنية العامة DEBUG = num‎ انظر أيضا التابع DEBUG: يُعيد مستوى التصحيح في المهمة الفرعية (thread debug level). مصادر قسم التابع DEBUG=‎ في الصنف Thread‎ في توثيق روبي الرسمي.

التابع Thread.fetch في روبي

البنية العامة fetch(*args) المعاملات args انظر أيضًا التابع group: يُعيد مجموعة الخيوط ThreadGroup التي تحتوي على المهمة الفرعية المعطاة، أو يُعيد nil إذا لم تكن المهمة الفرعية عضوًا في أي مجموعة. التابع join: يوقف عند استدعائه تنفيذ المهمة الفرعية المُستدعيَة (calling thread)، وبدء تنفيذ المهمة الفرعية التي استُدعي معها. مصادر قسم التابع fetch في الصنف Thread في توثيق روبي الرسمي.

التابع ConditionVariable.signal في روبي

يوقظ التابع ‎signal أول مهمة فرعية من بين المهام الفرعية (threads) التي تنتظر قفلًا (lock) معيَّنًا. البنية العامة signal() انظر أيضًا التابع broadcast: يوقظ جميع المهام الفرعية (threads) التي تنتظر القفل (lock) المعيّن. التابع wait: يحرِّر القفل المطبَّق (held) على الكائن mutex وينتظر، ثمَّ يستعيد القفل عند الإستيقاظ. مصادر قسم التابع signal في الصنف ConditionVariable في توثيق روبي الرسمي.

التابع ConditionVariable.broadcast في روبي

يوقظ التابع ‎broadcast جميع المهام الفرعية (threads) التي تنتظر قفًلًا (lock) معيَّنًا. البنية العامة broadcast() انظر أيضًا التابع signal: يوقظ أول مهمة فرعية من بين المهام الفرعية (threads) التي تنتظر القفل (lock) المعيّن.  التابع wait: يحرِّر القفل المطبَّق (held) على الكائن mutex وينتظر، ثمَّ يستعيد القفل عند الإستيقاظ. مصادر قسم التابع broadcast‎ في الصنف ConditionVariable في توثيق روبي الرسمي.

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

يحاول التابع lock مسك القفل (grab the lock)، وينتظر إذا لم يكن متاحًا. يطلق الخطأ ThreadError إذا كان الكائن mutex مُقفلًا (locked) من قبل الخيط (thread) الحالي. البنية العامة lock → self‎ القيمة المعادة يعاد الكائن المعطى نفسه. انظر أيضا التابع locked?‎: يتحقق إن كان هذا القفل ممسوكًا حاليًا من قبل خيط (thread) ما. التابع new: ينشئ كائنا جديدًا من النوع Mutex. مصادر قسم التابع lock‎ في الصنف Mutex‎ في توثيق روبي الرسمي.

التابع Thread.start‎ في روبي

يشبه التابع start التابع new بشكل أساسي إلا أنه عند اشتقاق صنف فرعي (subclassed) من Thread، فإنَّ استدعاء start في ذلك الصنف الفرعي لن يستدعي تابع الصنف الفرعي initialize. البنية العامة start([args]*) {|args| block }→ thread‎ المعاملات args‎ وسائط تُمرر إلى الكتلة. القيمة المعادة يعاد كائن من النوع Thread. انظر أيضًا التابع stop: يوقف تنفيذ المهمة الفرعية الحالية. مصادر قسم التابع start‎ في الصنف Thread‎ في توثيق روبي الرسمي.

التابع Thread.fork‎ في روبي

التابع fork مكافئ للتابع new. إلا أنه في حال اشتقاق صنف فرعي من Thread، فإنَّ استدعاء التابع start  في ذلك الصنف الفرعي لن يستدعي تابع الصنف الفرعي initialize. البنية العامة fork([args]*) {|args| block } → thread‎ القيمة المعادة يعيد كائنا من النوع Thread. انظر أيضًا التابع exit: ينهي المهمة الفرعية قيد التشغيل، ويُجدول مهمة فرعية أخرى ليتم تشغيلها. مصادر قسم التابع fork‎ في الصنف Thread‎ في توثيق روبي الرسمي.

الصنف Queue في روبي

يُنفِّذ الصنف Queue طوابير الانتظار متعدِّدة المنتجين (multi-producer)، ومتعدِّدة المستهلكين (multi-consumer). إنَّه مفيدٌ بشكلٍ خاصٍّ في البرمجة المعتمدة على الخيوط (threaded programming) عندما يتحتَّم على المعلومات أن تُتبادل بأمان بين خيوطٍ (threads) متعدَّدة. يُنفِّذ الصنف Queue كل دلالات القفل المطلوبة. يُنفِّذ الصنف طوابير الانتظار التي من النوع FIFO (من يدخل أولًا يخرج أولًا). في هذا النوع، المهام التي تضاف أولًا في الطابور هي المهام التي تعاد أولًا منه. queue = Queue.new producer = Thread.new do 5.times do |i| ...

 التابع ConditionVariable.new في روبي

ينشئ التابع ‎new نسخة جديدة من الصنف ConditionVariable. البنية العامة new() القيمة المعادة تُعاد نسخةٌ جديدةٌ من الصنف ConditionVarialbe. أمثلة مثالٌ عن استخدام التابع ‎new: mutex = Mutex.new # => ConditionVarialbe سيعيد كائنا من الصنف انظر أيضًا التابع broadcast: يوقظ جميع المهام الفرعية (threads) التي تنتظر القفل (lock) المعيّن.  التابع signal: يوقظ أول مهمة فرعية من بين المهام الفرعية (threads) التي تنتظر القفل (lock) المعيّن. التابع wait: يحرِّر القفل المطبَّق (held) على الكائن mutex وينتظر، ثمَّ يستعيد القفل عند الإستيقاظ. ...

 التابع ConditionVariable.new في روبي

ينشئ التابع ‎new نسخة جديدة من الصنف ConditionVariable. البنية العامة new() القيمة المعادة تُعاد نسخةٌ جديدةٌ من الصنف ConditionVarialbe. أمثلة مثالٌ عن استخدام التابع ‎new: mutex = Mutex.new # => ConditionVarialbe سيعيد كائنا من الصنف انظر أيضًا التابع broadcast: يوقظ جميع المهام الفرعية (threads) التي تنتظر القفل (lock) المعيّن.  التابع signal: يوقظ أول مهمة فرعية من بين المهام الفرعية (threads) التي تنتظر القفل (lock) المعيّن. التابع wait: يحرِّر القفل المطبَّق (held) على الكائن mutex وينتظر، ثمَّ يستعيد القفل عند الإستيقاظ. ...

التابع Thread.join‎ في روبي

يوقف التابع join عند استدعائه تنفيذ المهمة الفرعية المُستدعيَة (calling thread)، وبدء تنفيذ المهمة الفرعية التي استُدعي معها. ولن يعود حتى تخرج (exits) المهمة الفرعية، أو حتى مرور فترة زمينة محدَّدة. في حالة انتهاء المهلة الزمنية، ستعاد القيمة nil؛ خلا ذلك، ستُعاد المهمة الفرعية. سيتم إنهاء كل المهام الفرعية غير المضمومة (joined) عندما يخرج البرنامج الرئيسي. إن أطلقت المهمة الفرعية سابقًا استثناء ولم يتم تعيين الرايتين abort_on_exception أو DEBUG (أي أنه لم تتم معالجة الاستثناء بعد)، فسيُعالج في هذا الوقت. البنية ...

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

يعيد التابع list مصفوفة تحوي جميع الكائنات Thread الموجودة والتابعة لمجموعة الخيوط التي استدعيت معه. البنية العامة list → array القيمة المعادة تعاد مصفوفة تحوي جميع الكائنات Thread الموجودة والتابعة لمجموعة الخيوط المعطاة. أمثلة مثال على استعمال التابع list: ThreadGroup::Default.list #=> [#<Thread:0x401bdf4c run>] انظر أيضًا التابع add: يضيف الخيط المُمرَّر إليه إلى مجموعة الخيوط التي استدعي معها. التابع enclose: يمنع إضافة أو إزالة أي خيط من مجموعة الخيوط التي استدعيت معه. التابع ?enclosed: يتحقق إذا كانت مجموعة الخيوط ...

التابع Queue.pop في روبي

يجلب التابع pop بياناتٍ من الطابور الذي استُدعي معه. إذا كان طابور الانتظار فارغًا، يُعلَّق الخيط (thread) الذي استدعى التابع حتى تضاف بيانات إلى هذا الطابور. إذا مُرِّرت القيمة true إلى التابع، فلن يُعلَّق الخيط، وسيُرمى الاستثناء ThreadError آنذاك. البنية العامة pop(non_blocock=false) المعاملات non_block قيمة منطقية تحدِّد إن كان يراد تعليق عمل الخيط إن كان الطابور فارغًا أم لا. القيمة الافتراضية له هي: false. القيم المعادة تُعاد البيانات المجلوبة من الطابور المعطى. انظر أيضًا التابع push : يضيف الكائن المُمرَّر إليه ...

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

يمنع التابع enclose إضافة أو إزالة أي خيط من مجموعة الخيوط التي استدعيت معه. لا يزال بإمكان الخيوط الجديدة أن تُبدَأ في مجموعة خيوط مغلقة. البنية العامة enclose → thgrp القيمة المعادة تعاد مجموعة الخيوط المعطاة بعد إغلاقها. أمثلة مثال على استعمال التابع enclose: ThreadGroup::Default.enclose #=> #<ThreadGroup:0x4029d914> thr = Thread.new { Thread.stop } #=> #<Thread:0x402a7210 sleep> tg = ThreadGroup.new ...

التابع Thread.priority‎ في روبي

يُعيد التابع priority أولوية المهمة الفرعية التي استدعيت معه. تورث القيمة الافتراضية من المهمة الفرعية الحالية المسؤولة عن إنشاء المهمة الفرعية الجديدة، أو تكون القيمة صفر للمهمة الفرعية الرئيسية الابتدائية (initial main thread)؛ سيتم تشغيل المهام الفرعية ذات الأولوية العالية بشكل أكثر تكرارًا من مثيلاتها ذات الأولوية المنخفضة (ولكنها ستُشغّل على أي حال). هذا مجرد تلميح يستعمله مُجدوِل المهام الفرعية (thread scheduler) في روبي. مع ذلك، قد يتم تجاهله في بعض أنظمة التشغيل. البنية العامة priority→ integer‎ القيمة المعادة يعاد عدد ...

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

يحرر التابع sleep القفل (lock)، وينام لعدد محدَّد من الثواني. يطلق الخطأ ThreadError إذا لم يكن الكائن mutex مُقفلًا من قِبَل الخيط (thread) الحالي. عندما يستأنف الخيط عمله، ستحاول تلك المهمة استعادة القفل وتطبيقه. لاحظ أن هذا التابع يمكنه إيقاظ (wakeup) الخيط دون استدعاء Thread.wakeup بشكل صريح كما يحدث، على سبيل المثال، عند تلقي إشارة. البنية العامة sleep(timeout = nil) → number‎ المعاملات timeout‎ عدد الثواني التي تحدِّد مدة نوم الخيط بعد تحرير القفل. القيمة الافتراضية هي: nil. القيمة المعادة يعاد ...

التابع Process.detach في روبي

تحتفظ بعض أنظمة التشغيل بحالة العمليات الفرعية التي أُنهيَت حتى تجمع العملية الأب تلك الحالة (باستعمال أنواع مختلفة من wait()‎). إن لم تجمع العملية الأب هذه الحالة على الإطلاق، تبقى العملية الابن متراكمة ضمن العمليات الميتة (zombie process). يمنع التابع Process::detach هذا السلوك عبر ضبط خيط منفصل من روبي وظيفته الوحيدة هي جمع الحالة لمعرف العملية (pid) عندما تُنهَى. استعمل التابع detach فقط عندما لا تنوي انتظار العملية الابن لكي تُنهَى بشكل صريح. يعيد الخيط المُنتَظِر (waiting thread) حالة الخروج ...

تابع النسخة Thread.abort_on_exception‎ في روبي

يُعيد التابع abort_on_exception حالة الشرط المحلي (thread-local‏) "المقاطعة عند حدوث استثناء؟" (abort on exception) في المهمة الفرعية التي استُدعي معها. القيمة الافتراضية هي false. يوجد أيضًا تابع صنف (class method) لتعيين هذا الخيار في كل المهام الفرعية؛ راجع صفحة abort_on_exception. البنية العامة abort_on_exception→ true or false‎ القيمة المعادة تعاد حالة الشرط المحلي (thread-local‏) "المقاطعة عند حدوث استثناء؟" (abort on exception). في المهمة الفرعية المعطاة. انظر أيضًا التابع abort_on_exception =‎: يضبط عند استدعائه بالشكل abort_on_exception= boolean حالة الشرط المحلي "المقاطعة عند حدوث استثناء؟" (abort on exception) ...

 التابع Dir.chdir في روبي

يغيِّر التابع chdir‎ مجلد العمل (working directory) الحالي للعملية الحالية إلى مجلَّدٍ محدَّدٍ. عند استدعائه بدون تمرير وسيط، فسيغيِّر مجلد العمل إلى قيمة متغير البيئة HOME أو LOGDIR.SystemCallError (وربما Errno::ENOENT) إذا كان المجلد المُستهدَف غير موجود. في حال تمرير كتلة برمجية إلى التابع، فسيُمرّر إليها اسم المجلد الحالي الجديد، وستنفّذ الكتلة على اعتباره المجلد الحالي. بعد تنفيذ الكتلة والخروج منها، سيُستعَاد مجلد العمل الأصلي آنذاك. وتكون القيمة المعادة للتابع chdir مساويةً لقيمة الكتلة. يمكن أن تتشعّب الكتل chdir، ولكن سيُطلَق ...

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

يحرر التابع unlock القفل (lock). ويطلق الاستثناء ThreadError إذا لم يكن الكائن mutex مُقفلًا من قبل الخيط (thread) الحالي. البنية العامة unlock → self‎ القيمة المعادة يعاد الكائن المعطى نفسه. انظر أيضا التابع try_lock: يحاول الحصول على القفل (lock) والعودة مباشرةً. مصادر قسم التابع unlock‎ في الصنف Mutex‎ في توثيق روبي الرسمي.

الصنف FiberError في روبي

يُرمى الاستثناء FiberError عند محاولة إجراء عمليّةٌ غير صحيحةٍ في الصنف Fiber، تحديدًا عند محاولة استدعاء/استئناف ليف ميِّت، أو محاولة التّوليد من الليف الجذر (root fiber)، أو استدعاء ليفٍ عبر خيوطٍ (threads). fiber = Fiber.new{} fiber.resume #=> nil fiber.resume #=> FiberError: dead fiber called مصادر صفحة الصنف FiberError في توثيق روبي الرسمي.

الصنف ThreadError في روبي

يُطلق الاستثناء ThreadError في حال محاولة تنفيذ عملية غير صالحة في مهمة فرعية. على سبيل المثال، في حال لم تبدأ مهمة فرعية أخرى مثل ما هو موضح في الشيفرة التالية: Thread.stop سيطلق استثناء بالشكل التالي: ThreadError: stopping only thread note: use sleep to stop forever مصادر صفحة الصنف ThreadError في توثيق روبي الرسمي.

التابع Queue.size في روبي

يعدُّ التابع size اسمًا بديلًا للتابع length . البنية العامة size() انظر أيضًا التابع length : يعيد طول الطابور الذي استُدعي معه. التابع num_waiting : يعيد عدد الخيوط (threads) المنتظرة في الطابور الذي استُدعي معه. التابع pop : يجلب بياناتٍ من الطابور الذي استُدعي معه. مصادر صفحة التابع size في الصنف queue في توثيق روبي الرسمي.

التابع Queue.deq في روبي

يعدُّ التابع deq اسماً بديلًا للتابع pop . البنية العامة deq(*args) المعاملات args* المعاملات المُمرَّرة. انظر أيضًا التابع pop : يجلب بياناتٍ من الطابور الذي استُدعي معه. التابع length : يعيد طول الطابور الذي استُدعي معه. التابع num_waiting : يعيد عدد الخيوط (threads) المنتظرة في الطابور الذي استُدعي معه. مصادر صفحة التابع deq في الصنف queue في توثيق روبي الرسمي.

التابع Queue.shift في روبي

يعدُّ التابع shift اسمًا بديلًا للتابع pop . البنية العامة shift(*args) المعاملات args* المعاملات المُمرَّرة. انظر أيضًا التابع pop : يجلب بياناتٍ من الطابور الذي استُدعي معه. التابع length : يعيد طول الطابور الذي استُدعي معه. التابع num_waiting : يعيد عدد الخيوط (threads) المنتظرة في الطابور الذي استُدعي معه. مصادر صفحة التابع shift في الصنف queue في توثيق روبي الرسمي.

التابع Queue.num_waiting في روبي

يعيد التابع num_waiting عدد الخيوط (threads) المنتظرة في الطابور الذي استُدعي معه. البنية العامة num_waiting() القيم المعادة يُعاد عدد الخيوط المنتظرة في الطابور المعطى. انظر أيضًا التابع length : يعيد طول الطابور الذي استُدعي معه. التابع pop : يجلب بياناتٍ من الطابور الذي استُدعي معه. التابع close : يغلق الطابور الذي استُدعي معه. مصادر صفحة التابع num_waiting في الصنف queue في توثيق روبي الرسمي.

التابع Thread.pass‎ في روبي

يعطي التابع pass إلى مُجدوِل المهام الفرعية (thread scheduler) تلميحًا لتمرير التنفيذ إلى مهمة فرعية أخرى. مسألة تبديل المهمة الفرعية قيد التشغيل من عدمها تعتمد على نظام التشغيل والمعالج المستخدمين. البنية العامة pass→ nil‎ القيمة المعادة تعاد القيمة nil. انظر أيضًا التابع new: ينشئ مهمة فرعية جديدة لتنفيذ الكتلة المعطاة. مصادر قسم التابع pass‎ في الصنف Thread‎ في توثيق روبي الرسمي.

التابع Queue.enq في روبي

يُعدُّ التابع enq اسمًا بديلًا للتابع push . البنية العامة enq(p1) المعاملات p1 الكائن المراد إضافته إلى الطابور المعطى. انظر أيضًا التابع push : يضيف الكائن المُمرَّر إليه إلى الطابور المعطى. التابع num_waiting : يعيد عدد الخيوط (threads) المنتظرة في الطابور الذي استُدعي معه. التابع pop : يجلب بياناتٍ من الطابور الذي استُدعي معه. مصادر صفحة التابع enq في الصنف queue في توثيق روبي الرسمي.

التابع Location.lineno‎ في روبي

يعيد التابع lineno رقم سطر هذا الإطار. البنية العامة lineno() القيمة المعادة يعيد التابع lineno رقم سطر هذا الإطار. أمثلة مثال على استخدام التابع lineno‎ مع الملف caller_locations.rb من Thread::Backtrace::Location: loc = c(0..1).first loc.lineno #=> 2‎ انظر أيضًا التابع label: يعيد تسمية هذا الإطار. التابع path: يُعيد اسم ملف هذا الإطار. مصادر قسم التابع lineno‎ في الصنف Location‎ في توثيق روبي الرسمي.

التابع Location.path‎ في روبي

يُعيد التابع path اسم ملف هذا الإطار. البنية العامة ‎path() القيمة المعادة يعاد اسم ملف هذا الإطار. أمثلة مثال على استخدام التابع path‎ مع الملف caller_locations.rb من Thread::Backtrace::Location: loc = c(0..1).first loc.path #=> caller_locations.rb‎ انظر أيضًا التابع lineno: يعيد رقم سطر هذا الإطار. التابع to_s: يُعيد سلسلة نصية تمثل هذا الإطار على نمط التابع Kernel.caller . مصادر قسم التابع path‎ في الصنف Location‎ في توثيق روبي الرسمي.

التابع Queue.length في روبي

يعيد التابع length طول الطابور الذي استُدعي معه. يملك هذا التابع اسمًا بديلًا هو: size . البنية العامة length size القيم المعادة يُعاد طول طابور الانتظار المعطى. انظر أيضًا التابع pop : يجلب بياناتٍ من الطابور الذي استُدعي معه. التابع num_waiting : يعيد عدد الخيوط (threads) المنتظرة في الطابور الذي استُدعي معه. التابع close : يغلق الطابور الذي استُدعي معه. مصادر صفحة التابع length في الصنف queue في توثيق روبي الرسمي.

عرض (50 السابقة | 50 التالية) (20 | 50 | 100 | 250 | 500).