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

Re: Thread / function Kategorie: Programmierung (von ChristianK - 24.05.2003 21:57)
Als Antwort auf Re: Thread / function von André H. - 24.05.2003 18:39

Hallo André,

danke für die Nachhilfe.(obwohl ich das Handbuch -entgegen dem üblichen Brauch- sehr aufmerksam
durchgearbeitet habe, denn vor einem guten Jahr gab es halt nichts anders).

Wenn ich Dich richtig verstanden habe, bedeutet das run thread x
nichts anderes, als das der thread x die Priorität 32 bekommt auch wenn er die schon hatte..
In meinem Bsp. würde das bedeuten, der thread circilation_pump würde
bei der wait-Bedingung stehen, wenn er durch die Schleife erneut aufgerufen würde
und (wenn die wait-Bedingung noch immer zutrifft) sofort wieder verlassen.
Ist vielleicht falsch ausgedrückt, er wird gar nicht aufgerufen wie eine Funktion, sondern
er bekommt eine (ggf. neue) Priorität. Das war wohl mein falsches Verständnis von threads,
sie können(sollten) nicht wie Funktionen behandelt werden, da sie einmal gestartet,
in einer Endlsoschleife weiterlaufen. Wenn ich das jetzt nicht falsch verstanden habe,
dann kann ich meine threads, die ich in meinen loop´s der verschiedenen main-threads
aufrufe, alle vor die loop-Schleife setzen, das sie ja eh in einer Endlosschleife laufen.
Ist für einen Insider sicherlich sonnenklar, aber wenn man aus anderen Programmiersprachen kommt,
dann übersieht man halt leicht das Offensichtliche.(Asche über mein Haupt).

Auf mein Bsp. übertragen: das erneute Aufrufen bewirkt gar nichts, au�er dem Aufwand dem thread
circulation_pump erneut die Priorität 32 zuzuweisen.
Aber das ist doch sicherlich eine ganze Menge weniger, als die circulation_pump zu durchlaufen ??????

Mir gefällt das mit den threads, weil ich -anders wie bei der CC1- nicht den ganzen Programmflu�
stoppe, wenn eine wait-Bedingung nicht erfüllt ist. Viele Dinge mit wait zu lösen ist einfacher, als ein
"Pumpen" von Komponenten durch viele Variablen zu verhindern oder permanent Ã?berwachungsfunktionen
aufzurufen.
Bsp.: Untere Temp-Grenze erreicht-> Kessel einschalten
         wait bis obere Grenze erreicht ist
         obere Temp-Grenze erreicht-> Kessel ausschalten
das ging halt mit der CC1 nicht so.
Nachdem ich das nun (hoffentlich) alles richtig verstanden habe, werde ich wohl in meinem Programm
etliche Funktionen durch threads ersetzen(es gibt eine Menge Schleifen, wo gewartet werden muss, dass
nach Stunden oder Tagen eine Ã?nderung eintritt).

Ok, es war ein guter Tag, er hat mich ein wenig unwissender gemacht !

Danke für Deine Hilfe und

MfG
ChristianK



    Antwort schreiben


Antworten:

Re: Thread / function (von André H. - 29.05.2003 11:44)
    Re: Thread / function (von ChristianK - 30.05.2003 16:28)