/ / Interprozesskommunikation mit physischen Textdateien - Python, C ++, Pipe, Interprozesskommunikation

Interprozesskommunikation mit physischen Textdateien - Python, C ++, Pipe, Interprozesskommunikation

Ich lese Finanzdaten von meinem Broker inEchtzeit über eine Websocket-API. Der Client ist in Python geschrieben. Ich habe ein anderes C ++ - Programm, das diese Daten liest, aber ich kommuniziere mit dem Python-Skript über eine physische Textdatei.

Meine Fragen sind ...

1) Beeinflusst die Textdatei ständig, das Öffnen, Lesen und Schließen jedes Mal die Leistung? Wenn ja, was ist der bessere Weg, dies zu tun? Die Leistung meiner Anwendung ist entscheidend.

2) Wäre die Verwendung von Named Pipes die bessere Option? Oder ist das so ziemlich das Gleiche wie Schreiben und Lesen in eine Textdatei?

Antworten:

3 für die Antwort № 1

Moderne Betriebssysteme unterstützen viele verschiedene Arten IPC. Pipes, Named Pipes, Sockets, Speicher zugeordnetDateien, ... Die Wahl der einen oder der anderen Lösung hängt stark von Ihrer Anwendung ab. Aber im Großen und Ganzen sollten alle "besser" sein als eine einfache alte Datei.

Da IPCs vom Betriebssystem verwaltete Objekte sind, handelt es sich hierbei um nicht abhängig von der Sprache, in der das geschrieben wirdverschiedenen prozess. Einige IPC haben eine Dateisemantik (Pipes, Named Pipes). Andere erfordern die Verwendung einiger dedizierter Systemprimitive (mmap). C ++ und Python (und viele andere Sprachen) unterstützen jedoch den erforderlichen Systemaufruf. In der Tat sind IPC groß um in verschiedenen Sprachen geschriebene Software dabei zu unterstützen, miteinander zu sprechen.