Hallo,
wie im Betreff schon beschrieben, was passiert dann? Wird dann das Programm abstürzen oder wird das intern ihrgendwie geregelt? Ich habe mir ein "IsInUse" Flag (bool) in die statische Klasse gepackt was beim Start und Ende des Methodenaufrufs immer gesetzt wird. Bei einem Aufruf der Methode wird dann vorher immer erst das Flag abgefragt und nur wenn die Methode gerade nicht am laufen ist wird diese neu aufgerufen.
Jetzt wollte ich mal wissen ob das umsonst ist oder schon sinnvoll.
mfg Taki
Das einzige Problem, dass bei mehreren Threads auftritt, ist der Schreibzugriff auf gemeinsam genutzte Objekte (in dem Fall also statische Klassenmember). Lokale Variablen sind unproblematisch.
Suche => Synchronisation
EDIT: Variablen durch Objekte ersetzt.
ah ok aber wenn die statsische Methoden sagen wir auf eine Datei zugreifen kommt es ja auch zu Problemen. Also ist das in meinem Fall ja doch sinnvoll.
Danke für den Tip Borg.
mfg Taki
Hallo Taki Haki,
ja, sicher kann es bei gleichzeitigem Zugriff Probleme geben, aber das muss auch nicht so sein. Es hängt immer davon ab, was die Methode macht. Eine pauschale Antwort lässt sich nicht geben.
Das mit dem Flag ist kein wirksamer Schutz. Wenn du gleichzeitigen Zugriff verhindern willst, verwende die normalen Mittel zur Prozess-/Thread-Synchronisation (lock, Monitor, Semaphoren, ...)
herbivore