سؤال

هل آلية IPC باستخدام الذاكرة والإشارات المشتركة للالبسيط تزامن مثل أنابيب أو الوجهين مثل طوابير الرسالة؟

هل كانت مفيدة؟

المحلول

إذا فهمت من سؤالك هو الصحيح، فمن الوجهين.

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

نصائح أخرى

وهناك إشارة يعمل مثل هذا ... بروك ل: "هل الموارد المتاحة؟" إشارة = -2 نعم. إشارة ++ بروك ب: "هل الموارد ..." إشارة = -1 نعم. إشارة ++ بروك ج: "هو مورد ..." إشارة = 0 رقم (لا يحدث أي شيء)

وعند هذه النقطة، يمكن بروك ج طابور (اعتمادا على المعهد، وهذا قد يكون حلقة مشغول أو أنه قد يكون الاستدعاء، أو قد ببساطة تفرخ موضوع الانتظار وإرسال الاستدعاء الخاص بك)

وبروك ل: "ايم القيام به" إشارة -؛

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

والسبب في أنني كتبت كل ما المغادرة حتى أتمكن من القول، على حد سواء. ومثل طابور الرسالة في أنه يمكن أن يكون المواضيع انتظار على مورد (الذاكرة المشتركة التي تسيطر عليها إشارة) التي تؤدي بعض الإجراءات، حتى رسالة النظام الفعلي، وعندما تحصل على الموارد. أو هل يمكن أن مجرد مشغول-الانتظار حتى يتم ذلك، والتي من شأنها أن تكون مثل الأنابيب.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top