Hi.
Ist mir ja richtig peinlich, soviele Fragen von mir, aber hier wird mir geholfen =)
Also ich habe jetzt Video2Brain, GalileoComputing und devtrain.de durchgestöbert, aber so wirklich verstanden habe ich Threading noch nicht.
Ich habe folgendes Problem. Mein Hauptprogramm speichert Wartezeiten ab. Bisher habe ich es so gemacht, dass ich die größte Wartezeit gesucht habe und für diese Zeit dann den SleepBefehl fürs Hauptprogramm aufgerufen habe.
Nun möchte ich mein Programm gerne so abändern, dass nicht erst die größte Wartezeit abgewartet wird und dann alle Elemente mit einer Schleife durchlaufen werden, sondern jeweils ein Element nach der einzelnen Wartezeit ausführe.
Angenommen ich habe 3 Wartezeiten:
5,10 und 20 Sekunden
Nun möchte ich, dass nach 5 Sekunden, nach 10 Sekunden und nach 20 Sekunden in die Console geschrieben wird.
Eigentlich wollte ich um bei diesem Beispiel zu bleiben, alle 3 Threads starten und dann Thread1 5 Sekunden, Thread2 10 Sekunden und Thread3 20 Sekunden schlafen legen. Wenn das so funktioniert, weiß ich aber leider noch nicht wie das code. Ich habe wie folgt angefangen:
C#-Quelltext
1: 2: 3: 4: 5: 6:
| Thread[] _threads = new Thread[wartezeiten.Count]; for (i = 0; i < wartezeiten.Count; i++) { _threads[i] = new Thread(new ThreadStart(warten)); _threads[i].Start(); } |