Re: Anzahl von threads Kategorie: Programmierung (von Guido - 1.11.2003 14:48) | |
Als Antwort auf Re: Anzahl von threads von André H. - 1.11.2003 12:00
| |
Hallo André Danke für deine ausführliche Antwort Mfg Guido > Hallo Guido, > > > also die erste Frage wieviele threads kann man in der C2 gleichzeitig laufen lassen?? > > Das steht im Handbuch Kap.4.4.3 "Multithreading" Seite 40 in der Mitte. :-) > > > Und was passiert wenn man einen thread mehrfach startet?? > > Gar nichts. > Im Prinzip kann man keine Threads starten oder anhalten. Man kann nur > die Priorität festlegen. > > Alle Threads haben standardmä�ig die Prio 0, au�er Sie haben den Namen "main", > dann ist die Prio standardmä�ig 32. > Wenn Du jetzt einen Thread mit run threadname; "startest", so > wei�t Du dem Thread lediglich die Prio 32 zu. > Wenn Du nun run threadname; öfters im Code stehen hast, so > wird lediglich die Prio 32 zugewiesen. > Es werden also nur Resourcen zum Zuweisen der Prio vergeudet. :-) > Allerdings kann ein erneutes Aufrufen von run threadname; auch fatale > Folgen haben, wenn ein Thread unbedingt mit einer anderen Prio laufen mu�. > Wird in einem thread mit z.B. run 50; die neue Prio festgelegt, so > wird mit run threadname; diese wieder auf 32 zurückgesetzt. > > Und um einmal etwa tiefer in die Verwendung von run&Co zu gehen: > halt; hat die gleiche Bedeutung wie run 0; > resume; setzt die Prio auf den Wert vor der letzten �nderung. > Wurde ein Thread z.B. angehalten, wird dieser mit der letzten Prio fortgesetzt. > Oder wurde ein Thread nach dem Starten auf Prio 50 gesetzt, so führt ein Aufrufen > von resume zu Prio 32. usw. > Das steht auch alles im Handbuch. :-) > > Eine weitere Anweisung ist reset. > Diese setzt den Thread zurück und gibt ihm seine Standard-Prio. > Es wird dabei auch ein mögliches vom Thread gesetztes (System-)Capture wieder gelöst. > (Das gilt nicht für das I²C-Capture oder die erweiterten Captures von cap.c2 !) > > MfG André H. > | |
Antwort schreiben Antworten: |