خيط (حوسبة)

(تم التحويل من الخيوط (حاسوب))
A process with two threads of execution, running on one processor

في المعلوماتية و الحوسبة ، الخيط او سلسلة التعليمات thread (أو thread of execution ) هي مجموعة متسلسلة من التعليمات التي ينقسم إليها برنامج ليقوم بأكثر من مهمة Task بشكل متزامن (او بشكل متزامن كاذب ) . بهذا فهو يتميز عن العملية Prosess بشكل عام في طريقة إنشاء سلسلة التعليمات و طريقة مشاركتها لمصادرها بشكل مختلف عن العمليات لكن هذه الفوارق في النهاية تختلف حسب نظام التشغيل .

يمكن تنفيذ سلاسل تعليمات متعددة بشكل متواز على عدة أنظمة حاسوبية . و كان هذا يدعى قديما بالتنفيذ المتعدد للسلاسل التعلميمية multithreading و يحدث عن طريق تعدد المهام computer multitasking أو ما يدعى بتجزئة الزمن time slicing و حيث يقوم معالج مركزي بالتبديل بين سلاسل التعليمات المختلفة . (ضمن هذا المفهوم التنفيذ ليس متزامنا بالنسبة لمعالج واحد لكننا نعتبره تزامنا مزيفا لأن التبديل يتم بسرعة كبيرة تعطينا انطباع بوهم التزامن) ، بالمقابل يمكننا انجاز تزامن حقيقي عن طريق الاستعانة بعدة معالجات .

في الوقتت الراهن ، العديد من انظمة التشغيل تدعم تجزئة الزمن و تعدد المهام ، أو التنفيذ متعدد المعالجات multiprocessor threading عن طريق منسق عمليات scheduler . تمكن نوى انظمة التشغيل المبرمجين من التعامل مع عدة سلاسل تعليمات عن طريق واجهة استدعاءات النظام system call . بعض التطبيقات لهذا الموضوع يدعى سلسلة تعليمات النواة kernel thread حيث تكون العمليات الخفيفة lightweight process أنماطا خاصة من سلاسل تعليمات النواة و التي تتشارك بنفس الحالة و نفس المعلومات . و يبقى المبرمجون قادرين على تطبيق سَلسَلة التعليمات threading عن طريق المؤقتات ، الإشارات ، أو وسائل أخرى لتفسير تسلسل تنفيذ التعليمات و بالتالي الحصول على تجزئة زمنية جيدة . و هذا ما يدعى احيانا : سلاسل تعليمات مجال المستخدم user-space threads .

في بعض الأحيان يستخدمون مصطلح سلسلة تعليمات من اجل شفرة مجزأة threaded code و هو نمط من الشفرات البرمجية يتألف بالكامل من استدعاءات لأقسام برمجية subroutine .


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

انظر أيضاً


المراجع

للاستزادة

  • David R. Butenhof: Programming with POSIX Threads, Addison-Wesley, ISBN 0-201-63392-2
  • Bradford Nichols, Dick Buttlar, Jacqueline Proulx Farell: Pthreads Programming, O'Reilly & Associates, ISBN 1-56592-115-1
  • Paul Hyde: Java Thread Programming, Sams, ISBN 0-672-31585-8
  • Jim Beveridge, Robert Wiener: Multithreading Applications in Win32, Addison-Wesley, ISBN 0-201-44234-5
  • Uresh Vahalia: Unix Internals: the New Frontiers, Prentice Hall, ISBN 0-13-101908-2
الكلمات الدالة: