الفرق بين النوم وانتظر الفرق بين

Anonim

النوم مقابل الانتظار

حيث تستخدم الحواسيب لغة اصطناعية لإنشاء برامج، والتحكم بها، والسماح لها بتوصيل التعليمات والتعبير عن الخوارزميات. وتسمى هذه اللغة لغة البرمجة.

قبل ظهور أجهزة الكمبيوتر، كانت لغات البرمجة تستخدم بالفعل في اللوم والبيانو. كما أصبح استخدام الكمبيوتر أكثر شيوعا، وهناك الآن العديد من لغات البرمجة المستخدمة.

هناك العديد من لغات الكمبيوتر بما في ذلك اللغات عالية المستوى مثل: باسيك، C، C ++، فورتران، باسكال، وجافا. كل جهاز الظاهري وحدة المعالجة المركزية لديها لغة الكمبيوتر الخاصة بها، ولكل منها نقاط الضعف ونقاط القوة الخاصة بها، وكل جهاز الظاهري يدير موضوع عندما بدأت. هذا الموضوع بتنفيذ التعليمات البرمجية التطبيق في البرنامج. يمكن أن تجعل البرنامج يعمل بشكل أسرع ويساعد في أدائها وفائدتها خاصة عندما يتم استخدام مؤشرات الترابط متعددة.

تدعم الأجهزة الظاهرية، مثل الجهاز الظاهري جافا، مفهوما متعدد الخيوط مع سلاسل أولوية ذات أولوية أعلى يتم تنفيذها أولا على سلاسل سلاسل أولوية أقل ضمانا للتقسيم العادل لمعالجة الوقت.

ويستخدم أساليب إدارة سلسلة الترابط التي يمكن إنشاء والتحكم وإنهاء تدفق عناصر التحكم أو المواضيع في مساحة مشتركة. اثنين من هذه الطرق إدارة المواضيع هي الانتظار وطرق النوم.

هاتان الطريقتان منفصلتان. تتحكم طريقة النوم في تنفيذ مؤشر الترابط وتؤخر الإجراء التالي بينما لا تتحكم طريقة الانتظار في تنفيذ مؤشر الترابط للسماح تشغيل مؤشرات الترابط الأخرى.

يتم تعريف طريقة الانتظار في فئة كائن ويرسل مؤشر الترابط الحالي في حالة لا رونابل. يتم استخدامه جنبا إلى جنب مع إخطار وإعلام أساليب للسماح رمز تنفيذ الكائن وقفة مؤقتا واستئنافها في وقت لاحق.

يعمل عن طريق استدعاء كائن تأمين والسماح لمزامنة مؤشر الترابط الحالي معها. الانتظار سيتم الافراج عن القفل وسوف يضع مؤشر الترابط في قائمة الانتظار والسماح مواضيع أخرى مزامنة مع ذلك مما تسبب في الموضوع الأصلي للاستيقاظ. يحدد مبرمج الوقت المحدد عند بدء التنفيذ مرة أخرى.

وتعرف طريقة النوم، من ناحية أخرى، بأنها طريقة ثابتة. فإنه يؤخر تنفيذ المواضيع وليس الكائنات وكذلك تعليق مؤشر الترابط الذي يتم تنفيذه. يرسل المواضيع الحالية في حالة لا رونابل لبعض فترة من الزمن. يمكن أن تؤثر على سلوك التطبيقات التي متعددة الخيوط لأنه يحتفظ أقفال التزامن من سلسلة الترابط الحالية. وبمجرد أن يكون مؤشر الترابط في كتلة متزامنة، لا يمكن إدراج مؤشر ترابط آخر كتلة.

ملخص:

1. "سليب" هو أسلوب إدارة مؤشر الترابط الذي يتم تعريفه كطريقة ثابتة في حين أن "ويت" هو أسلوب إدارة سلسلة الترابط الذي تم تعريفه في فئة كائن.

2. النوم هو الأسلوب الذي ينفذ المواضيع بينما الانتظار هو الأسلوب الذي ينفذ الكائنات.

3. يحتفظ سليب بأقفال التزامن من مؤشر الترابط الحالي ويؤثر على سلوك التطبيقات أثناء الانتظار.

4. يتحكم النوم في تنفيذ مؤشر الترابط ولا يسمح مؤشرات الترابط الأخرى في كتلة متزامنة أثناء الانتظار لا تتحكم في تنفيذ مؤشر الترابط للسماح تشغيل مؤشرات الترابط الأخرى.