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) |