Hiho,
ich hatte ursprünglich vor meine Programme auf Multithreading umzustellen, um Laufzeit zu sparen.
Dies funktioniert aber nicht, da die Datenbankanbindung die ich nutzen muss (Drittanbieter) nicht für sowas geeignet ist.
Jetzt habe ich die Überlegung mir (wie bisher) ein Singlthreading Programm zu schreiben und das in eine Art Client/Server-Architektur einzubinden.
Also Schemadarstellung ähnlich zum Thread-Ablauf:
Delphi-Quellcode:
Programm
|- Sammelt Anforderungen
|- Gibt diese an Threads weiter
|- Thread #1 verarbeitet x Anforderungen
|- Thread #2 verarbeitet y Anforderungen
|- Sammelt die erzeugten Daten der Threads
|- Gibt Ausgabedaten aus
das Ganze auf Programm Ebene:
Delphi-Quellcode:
Programm 1
|- Sammelt Anforderungen
|- Gibt diese an Unterprogramme weiter
|- Programm 2 (Instanz A) verarbeitet x Anforderungen
|- Programm 2 (Instanz B) verarbeitet x Anforderungen
|- Sammelt die von den Unterprogrammen erzeugten Daten
|- Verarbeitet Ausgabedaten
Sprich:
Mehr oder weniger das gleiche Prinzip aber halt von Thread auf Programm-Ebene verlagert.
...
Jetzt habe ich aber 1 großes Problem:
Wie schaffe ich es, dass mein Hauptprogramm mit den Unterprogrammen "Programm 2" kommunizieren kann?
So dass ich dem sage "Mach das" und am Ende auch dessen Ausgabe wieder auslesen, sammeln und weiterverarbeiten kann?
Da müsste ich doch quasi eine Client-Server-Anwedung schreiben, oder?
Programm 1 ist der Server der 2 oder mehr Clients startet, diese mit der Verarbeitung beauftragt und anschließend Daten von denen geliefert bekommt.
Aber wie mache ich das?
...
Oder kann ich die Kommunikation auch über
OLE /
COM z.b. regeln?
Danke im Voraus
cu Patrick