Zur Erklärung:
this.threads ist ein Thread-Array.
In einer for-Schleife gehe ich dieses Array durch, instanziiere einen Delegaten durch eine anonyme Methode und starte den Thread.
Und jetzt zu der komischen Sache.
Innerhalb des Delegaten ist i eins höher als "außen".
Aber warum? Der Thread wird doch innerhalb der Schleife gestartet.
Auch wenn in dem Array nur ein Element ist, ist i innerhalb 1 und nicht 0.
this.threads = new Thread[count]; for (int i = 0; i < this.threads.Length; i++) { ... this.threads[i] = new Thread(delegate() { // Bug? i ist hier eins höher als außerhalb 0.o i--; }); this.threads[i].Start(); }
Vielleicht hat ja einer von euch eine logische Erklärung dafür...
Dieser Beitrag wurde von Witi bearbeitet: 24. März 2006 - 14:49