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

Re: threads Kategorie: Programmierung (von ChristianS - 3.11.2010 13:23)
Als Antwort auf Re: threads von nitraM - 3.11.2010 13:06
Ich nutze:
C-Control II Unit, OSOPT V3.1
> > Nun benötige ich in meinem Programm 3Timer, die unabhängig voneinander
> > ausgewertet werden sollen. Derzeit starte ich einfach 3 threads (Timer0, Timer1, Timer2).
> > Das ist nicht sehr elegant. Kann man das auch anders lösen? Die Timer sollen im
> > Sekundentakt eingestellt werden können (bis 300min)
> >
> > ChristianS.
>
> Hallo Christian,
> Wie genau sollen deine Timer denn sein?
> Angenommen 1 Sekunde würde ausreichen dann würde ich nur einen Tread starten:
>
>  
> thread timer
> {int sec;
>  long timer_1;
>  long timer_2;
>  sec = 99;
>  loop
>  {wait ((system.second() != sec));     // warten auf eine neue Sekunde...
>   sec = system.second();               // aktuelle Sekunde speichern
>   if timer_1 > 1
>    {timer_1 = timer_1 -1;              // eine Sekunde abziehen
>    }
>   else if timer_1 == 0                   // wenn Timer abgelaufen
>   {timer_1 = -1;                       // Timerwert setzen
>    ... tu das was willst...
>   }
>
>   if timer_2 > 1
>    {timer_2 = timer_2 -1;              // eine Sekunde abziehen
>    }
>   else if timer_2 == 0                   // wenn Timer abgelaufen
>   {timer_2 = -1;                       // Timerwert setzen
>    ... tu das was willst...
>   }
> ...
>  }
> }
>
>

>
> nitraM

Hallo nitraM,
danke für den Tipp, 1 sec. reicht dicke aus. Wieviel timer kriegt man da wohl unter?...
ich denke für 3 -4 Timer wird es reichen....

Eine Frage noch, muss man den thread nicht anhalten? Sonst laufen die Timer doch endlos weiter,
oder? Die Timer sollen gezielt gestartet werden, ablaufen und auf den nächsten Start warten.
(z.B. "Treppenhausschaltung").

ChristianS.


    Antwort schreiben


Antworten:

Re: threads (von nitraM - 3.11.2010 14:16)