خيط (حوسبة)
في المعلوماتية و الحوسبة ، الخيط او سلسلة التعليمات 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