الفرق بين المزامنة وسيمافور



مزامنة مقابل سيمافور

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

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

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

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

وذلك أساسا، يمكن اعتباره مزامنة بمثابة إشارة وجود قيمة واحدة.

لإنقاص وزيادة من الإشارة تعتمد على ما إذا كانت المواضيع هي التي تطلب الوصول إلى الموارد المشتركة أو ترك الباب.



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

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

ملخص:

وعادة ما تستخدم 1. المزامنة لتسلسل الوصول إلى مورد مشترك في حين أن الإشارة هي عدد زيارات المتزامنة.

2. المزامنة يشبه إشارة مع العد من واحد.
3. المزامنة يسمح سوى موضوع واحد في الحصول بينما الإشارات يمكن لمح بشكل متزامن من قبل أي موضوع أو عملية.