Hallo zusammen.
ich habe ein kleines Programm, wo es unter Umständen dazu kommen kann, dass diverse Sachen nacheinander abgearbeitet werden und dort jeweils verschieden lange und gewollte "Sleeps" zum Tragen kommen.
Dazu benutze ich momentan eine kleine Methode:
private void WaitForX(int x)
{
are.WaitOne(x);
}
wobei are folgendes Objekt ist:
private AutoResetEvent are = new AutoResetEvent(false);
Das funktioniert natürlich auch so wie es soll, allerdings blockiert es dann teils die GUI doch für einen erheblichen Zeitraum.
Ich könnte das Problem zwar mit einem Timer beheben, allerdings gibt es mehrere Zwischenschritte, die Methode wird also mehrfach mit unterschiedlichsten Wartezeiten aufgerufen. Bei einem Timer müsste ich dann doch schon ein bisschen rumfrickeln.
Nun die Frage - könnte man das mit einem weiteren Thread lösen? 1 Thread für die GUI (mit Hotkeys und allem) und einen Thread quasi nur als Worker? Wenn ja, wie macht man das?