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

Re: Timermodul Kategorie: Programmierung (von krassos - 13.11.2004 7:42)
Als Antwort auf Re: Timermodul von reneforster - 12.11.2004 21:59
Ich nutze:
C-Control II Unit, CC2-ReglerBoard, OSOPT V3.0
> Hallo Thomas,
>
> > In irgendeinem Thread hier habe ich gelesen, dass es besser ist längere Pausen über den Timer
> > zu realisieren als sleep (grosserWert); zu verwenden. Kann ich zwar nicht
> > nachvollziehen, glaube ich dann aber gerne.
>
> Das liegt daran, das beim Sleep der tread aktiv bleibt und dabei eigentlich unnötigt andere ausbremst.
> Beim Timer liegt die Steuerung im Hintergrund.
>
> Oder nochmal so:
> Also nochmal etwas verständlicher - beim Sleep arbeitet der Tread seine 32 VMC ( bei Standart Prio )
> trotzdem ab und blockiert damit unnötigt die wartenden Treads.
> Beim Timer kommt die VMC vorbei, schaut ob der Wert erreicht ist, und falls nicht geht die
> Abarbeitung sofort an den nächsten Thread weiter.
>
> Ich hoffe ich liege richtig . . .
>

'n Morgen,

genau umgekehrt ists richtig.

sleep gibt, solange die Zeit noch nicht verstrichen ist die Bearbeitung sofort an
den nächsten Thread weiter.

D.H. der Thread, der auf irgendein sleep wartet ist während dieser Zeit nicht
ansprechbar.
Gleichzeitig ablaufende Abfragen/Abhängigkeiten mü�ten in einen anderen Thread.
Ich bin immer bemüht, die Threadanzahl nicht unnötig hoch zu treiben, wegen simpler Abfragen.

Beispiel ACU's Roboterprojekt: Mit dem Code den er zuletzt gepostet hat, soll sein Roboter
Ausweichen, wenn ein Hindernis auftaucht.
Das ganze ist mit sleeps realisiert. Der Robbi weicht also nach rechtsz.B. aus und während
des ausweichens steht plötzlich in dieser Richtung auch ein Hindernis (mein Fu� *eg*).

Was passiert: Weil der Ausweichthread sich selbst während einer Aktion schlafen legt,
also sleept, ändern sich die Vorraussetzungen. ACU bräuchte jetzt 'nen zweiten Thread,
der den ersten überwacht. Wäre doch blödsinnig oder?

GruÃ? krassos


    Antwort schreiben


Antworten: