Passer
Erfahrenes Mitglied
Im Prinzip ists ja nur ein Thread, der eine Methode in einem anderen Thread per Invoke aufruft.Was mir immer noch fehlt, machen beide Threads das gleiche? Wenn ja, warum zwei getrennte Threads?
Zweite Variante: Was ist, wenn du den zweiten Thread erst startest, wenn eben genau diese Methode komplett ausgeführt wurde? Der zweite Thread müsste dann diesen Methodenaufruf nicht mehr beinhalten und könnte dann seine Arbeit durchführen.
Der Thread läuft tagelang durch und reagiert bei verschiedenen Ereignissen durch Korrekturmassnahmen.
Da der Thread ein relativ geringes Pollingintervall hat, kann es durchaus vorkommen, dass er ein und das selbe "Ereigniss" doppelt wahrnimmt, da die Behebung noch nicht vollkommen abgeschlossen ist.
Aber eigentlich ging es um die Frage, wie man ohne einen Variablenoverhead dafür sorgen kann, dass eine Methode sofort wieder verlassen wird, wenn diese bereits ausgeführt wird.
Ich hatte da auf was in der Art
if (locked)
return;
Derzeit liebäugel ich mit einer Liste, in der die Methodennamen als Index und ein boolscher Wert als Wert stehen.
Damit hätte ich nur eine Variable. Scheint mir auch der einzige Weg, da es anscheinend direkt von der c# Syntax her nichts zu geben scheint.