Re: Thread nur einmal ausführen? Kategorie: Programmierung (von Franz - 19.08.2003 8:04) | |
Als Antwort auf Re: Thread nur einmal ausführen? von André H. - 18.08.2003 18:19
| |
Danke > Hallo Franz, > > > Welche Möglichkeit gibt es, dass ein Thread nur einmal ausgeführt wird - z.B.: zum Initialisieren von einem > > Modem an hwcom, oder irgendwelchen Sensoren? > > Wie Cris schon geschrieben hat, ist es besser, eine Funktion dafür zu verwenden, > als einen Thread. > > Wenn die Initialisierung beim Programmstart erfolgen soll, so ist meist dies > die beste Möglichkeit: > > thread main > { > // hier die Initialisierungen: > hwcom.init(); > hwcom.setspeed(speed); > lcdext.init(); > // usw. ... > loop > { > // ab hier das Programm > // ... > } > } > > Die Initialisierung kann auch am Anfang des Threads stattfinden, der > auf die Resource, z.B. Modem an hwcom, zugreifen soll: > > thread modem > { > hwcom.init(); > hwcom.setspeed(speed); > modem.init() > loop > { > // Ab hier die Modem-Routinen > // ... > } > } > > thread main > { > lcdext.init() > run modem; > loop > { > // ab hier das Programm(Hauptthread) > // ... > } > } > > > > Mit "halt" wird der Thread zwar gestartet aber nicht ganz ausgeführt, oder? > > Mit halt wird ein Thread angehalten, nicht gestartet. > Bei der implizieten Form wird der Thread an der Stelle angehalten, wo das > Schlüsselwort steht. > Bei der expliziten Form aufgerufen aus einem anderen Thread (z.B. halt modem;), > kann man nicht bestimmen, wo der Thread angehalten wird. > > MfG André H. > | |
Antwort schreiben Antworten: |