Ich habe ein Projekt, das aus zwei Prozessen besteht und ich muss einige Daten schnell und effizient zwischen ihnen austauschen.C++ mehrere Prozesse?
Ich bin mir bewusst, dass ich Sockets verwenden konnte, um dies mithilfe von TCP zu tun, obwohl beide Prozesse immer auf demselben Computer vorhanden sind, jedoch scheint dies keine sehr effiziente Lösung zu sein.
Ich sehe viele Informationen über die Verwendung von "Pipes" unter Linux. Allerdings möchte ich dies primär für Windows und Linux (vorzugsweise über eine plattformübergreifende Bibliothek), idealerweise in einem typensicheren, nicht blockierenden Verfahren.
Eine weitere wichtige Sache ist, dass ich mehrere Instanzen der gesamten Anwendung (d. H. Beide Prozesse) unterstützen muss, jede mit ihrer eigenen unabhängigen Kopie der Kommunikationsobjekte.
Gibt es auch einen plattformübergreifenden Weg, um einen neuen Prozess hervorzubringen?
boost :: interprocess hat eine Dummy-Implementierung in Windows, die busy-waits für alles verwendet. Ich würde es nicht selbst empfehlen. – bdonlan