Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: thread main, mehrfachausführung? Kategorie: Programmierung (von André H. - 6.09.2004 10:28)
Als Antwort auf thread main, mehrfachausführung? von Andreas L - 5.09.2004 2:55
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT_V2, OSOPT V3.0
Hallo Andreas,

Bitte öffne das Handbuch und schlage das Kapitel 5.9 "Threads" auf.
Im Unterkapitel 5.9.1 steht deutlich, daÃ? Threads immer Schleifen sind.
Und das Betrifft nicht nur Threads mit dem Namen "main", sondern auch
alle anderen Threads.
Grundlegende Fragen sollten immer zuerst mit dem Handbuch geklärt werden.
Dort steht nämlich mehr drin, als man denkt.
Der einzige Unterschied zwischen Threads mit dem Namen main und
anders benannten Threads ist der, daÃ? Threads mit dem Namen Main
mit einer Standard-Priorität von 32 und alle anderen mit einer Standard-Priorität von 0
kompilert werden. ( Prio 0 = Thread steht).

Wenn ein Thread nur einen Durchlauf machen soll, dann muÃ? dieser
an der anzuhaltenden Stelle mit einem halt; versehen werden.
Ein Benutzen von loop{} kann ich nicht empfehlen, da so unnötig Rechenzeit
verschwendet wird.

MfG André H.

PS: Wenn Du das Code-Tag benutzt, versuche bitte nicht innerhalb von Code-Bereichen
       HTML-Tags zu verwenden.Das geht nämlich, wie es deutlich oberhalb des Eingabefeldes
       beschrieben ist, nicht. AuÃ?erdem sieht der Code dann nicht besonders gut aus,
       wenn plötzlich über all <b> etc. steht. ;-)


> Ich habe bei der Programmierung der C-COntrol festgestellt, dass der
>
> <b>thread</b> main
> {
>   ...
> }
>

> anscheinend mehrfach (immer wieder) ausgeführt wird.
> Ich würde ja erwarten, dass folgendes passiert...
>
> <b>thread</b> main
> {
>   Anweisung 1;
>   ...
>   Anweisung n;
>   // ende des Programms keine erneute ausführung der Anweisung 1
> }
>

> oder
>
> <b>thread</b> main
> {
>   <b>loop</b>
>   {
>     Anweisung 1;
>     ...
>     Anweisung n;
>    // und nochmal von vorne ...
>   }
> }
>

> falls ich mit meiner Vermutung richtig liege, kann man das mehrfachausführen ohne
> explizites loop {} damit verhindern???
>
> <b>thread</b> main
> {
>   Anweisung 1;
>   ...
>   Anweisung n;
>   <b>halt</b> main;
>   // ende des Programms keine erneute ausführung der Anweisung 1
> }
>



Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten: