Programm mehrfach ausführen



  • Hallo Leute,

    wie ich in der FAQ schon gelesen habe, besteht die Möglichkeit, zu verhindern, ein Programm doppelt zu öffnen.

    Allerdings beginne ich gerade mit der Programmierung eines Clienten. Dieser Client erhält Daten, verarbeitet diese und setzt die um.

    Da wir allerdings mehrere verschiedene Rechner haben, mit dem der Client verbinden soll, habe ich mir einige Gedanken drüber gemacht. Natürlich gibt es die Möglichkeit des Multithreading etc.

    Aber das wurde ausgeschlossen, da eine zu Große Abhängigkeit besteht. Deshalb wird für jeden Server ein Client erstellt. An sich kein Problem. Allerdings ist die Frage, inwiefern sich dies gegenseitig belasten/stören kann?!

    Kann mir diesbezüglich jemand Tips,Stichwörter, Infos, Webseiten oder sonstiges geben? Ich habe schon gesucht, aber nichts passendes gefunden. Ich bin zwar auf Semaphore und Mutex gestoßen, aber glaube, dass es das ist, was ich benötige.

    Falls mehr Dinge benötigt werden, werde ich diese Posten.





  • wie ich in der FAQ schon gelesen habe, besteht die Möglichkeit, zu verhindern, ein Programm doppelt zu öffnen.

    Das habe ich ja gelesen, aber das läuft ja über Mutex. Aber es geht sich einfach um die Frage generell, wenn ich ein Programm mehrfach ausführe, ob es da generell Probleme geben kann.


  • Mod

    Ja und Nö.
    Z.B. Du programmierst etwas was zum Beispiel Ressourcen verwendet die nur einmal genutzt werden können.



  • Also ganz einfaches Beispiel:
    Du öffnest mit dem Windows-Editor (Notepad) mehrere Dateien gleichzeitig: Notepad läuft in verschiedenen Instanzen und es gibt keine Probleme.
    Öffnest Du aber mit zwei oder mehr Notepad-Instanzen dieselbe Datei und editierst dadrin rum, gibt es Probleme.



  • Das habe ich ja gelesen, aber das läuft ja über Mutex. Aber es geht sich einfach um die Frage generell, wenn ich ein Programm mehrfach ausführe, ob es da generell Probleme geben kann.

    Entschuldigung, zu schnell gelesen.

    Unter der Annahme das deine Client's auf gemeinsame Resourcen zugreifen, werfe ich mal den Begriff Prozesssynchronisation in den Raum.



  • zuckerlie schrieb:

    Aber es geht sich einfach um die Frage generell, wenn ich ein Programm mehrfach ausführe, ob es da generell Probleme geben kann.

    Das hängt von deinem Programm ab, ist also eine Frage die du dir für deinen Fall nur selber beantworten kannst.
    Ich stell dir die Frage also mal anders rum: Was für Probleme könnte es bei deinem Programm denn deiner Meinung nach geben?



  • Bitte denken! Das System (hier Windows) kann mehrere Instanzen eines Programmes ausführen. Der Programmcode wird nur einmal geladen, für die Daten werden getrennte Bereiche angelegt. Sind die Daten völlig unabhängig voneinander ist die Sache geritzt. Beinhalten die Daten aber gleiche Ressourcen - wie eine Datei - kann es knallen, wenn keine geeigneten Massnahmen getroffen werden. Und auch hier bietet die WinApi einiges!


Anmelden zum Antworten