سؤال

لدي مشروع يتكون من اثنين من العمليات لا تحتاج إلى تمرير بعض البيانات بينها بشكل سريع وفعال الطريقة.

أنا على علم أن أتمكن من استخدام مآخذ للقيام بذلك باستخدام TCP, على الرغم من كل العمليات موجودة دائما على نفس الكمبيوتر ولكن هذا لا يبدو أن تكون فعالة جدا الحل.

أرى الكثير من المعلومات حول استخدام "أنابيب" على لينكس.ومع ذلك أريد في المقام الأول أن هذا ويندوز و لينكس (ويفضل أن يكون ذلك عبر عبر منصة مكتبة) ، من الناحية المثالية في نوع آمنة ، غير مؤمن الطريقة.

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

أيضا هناك عبر منصة طريقة إنتاج جديدة العملية ؟

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

المحلول

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

نصائح أخرى

نلقي نظرة على دفعة.بين العمليات

دفعة.بين العمليات يبسط استخدام المشترك بين العمليات الاتصالات والتزامن آليات و يقدم مجموعة واسعة من بينها:

  • الذاكرة المشتركة.
  • ملفات الذاكرة المعنونة.
  • الإشارات ، mutexes, حالة المتغيرات للترقية مزامنة أنواع وضعها في الذاكرة المشتركة و تعيين الذاكرة الملفات.
  • اسمه إصدارات تلك مزامنة كائنات شبيهة يونكس/ويندوز sem_open/CreateSemaphore API.
  • تأمين الملفات.
  • النسبية المؤشرات.
  • رسالة قوائم الانتظار.

دفعة.بين العمليات كما يقدم أعلى مستوى بين العمليات آليات لتخصيص حيوي أجزاء من الذاكرة المشتركة أو ملف تعيين ذاكرة (في عام ، إلى تخصيص أجزاء من حجم ثابت الذاكرة شريحة).باستخدام هذه الآليات ، دفعة.بين العمليات ويوفر أدوات مفيدة لبناء C++ الكائنات ، بما في ذلك المحكمة-مثل حاويات في الذاكرة المشتركة و تعيين الذاكرة الملفات:

  • خلق ديناميكية من مجهول واسمه الكائنات في الذاكرة المشتركة أو ملف تعيين ذاكرة.
  • STL-مثل حاويات متوافق مع الذاكرة المشتركة/ملفات الذاكرة المعنونة.
  • STL-مثل allocators جاهزة الذاكرة المشتركة/ملفات الذاكرة المعنونة تنفيذ العديد من تخصيص الذاكرة أنماط (مثل تجميع).

دفعة.بين العمليات وقد تم اختبارها في المجمعين/منصات:

  • البصرية 7.1 ويندوز XP
  • البصرية 8.0 Windows XP
  • دول مجلس التعاون الخليجي 4.1.1 مينغو
  • دول مجلس التعاون الخليجي 3.4.4 Cygwin
  • إنتل 9.1 ويندوز XP
  • دول مجلس التعاون الخليجي 4.1.2 لينكس
  • دول مجلس التعاون الخليجي 3.4.3 Solaris 11
  • دول مجلس التعاون الخليجي 4.0 ماك 10.4.1

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

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

قد يكون مبالغة، ولكن هل يمكن استخدام وقت التشغيل المحمولة أباتشي. هنا هي وظائف موضوع والعملية.

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