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

Re: Synchronisation von Threads Kategorie: Programmierung (von Dietmar Weickert - 4.06.2004 10:10)
Als Antwort auf Synchronisation von Threads von Volker - 3.06.2004 21:20
Ich nutze:
C-Control II Station, OSOPT V3.0
Hallo!

Du kannst mit Capures arbeiten, nur sollten das alle Threads mit demselben Flag machen,
damit es funktioniert. Da in dem Flag die Prozessnummer steht, wenn es frei ist 0, könntest
du auch alternativ

wait flag==0

verwenden.
Eine weitere Alternative ist, dass der Tastaturprozess die Priorität der anderen Prozesse mit

halt <Prozessname>

und

resume <Prozessname>

verändert.
Schau auch einmal, ob der Prozess, der das capture macht, nicht auf das release vergisst. Sonst
wartet er beim nächsten Durchlauf beim capture auf sich selbst und Alles steht.

Beste Grü�e,
Dietmar.

> Hallo!
> Habe eine Frage bezüglich synchronisation von Threads,
> vielleicht kann mir jemand einen Tip geben:
>
> Situation:
>
> es laufen 3 unabhängige Threads nebeneinander.  Der erste Thread
> reagiert auf Eingaben über die Tastatur der Station. Der zweite
> Thread "überwacht" einen digitalen Eingang der Station. Der dritte
> Thread sendet in regelmä�igen Abständen Daten über die SWCom.
> Klappt alles soweit ohne Probleme.
> Wenn nun eine Eingabe über die Tastatur erfolgt, sollen der zweite
> und dritte Thread solange warten, bis die Eingabe abgeschlossen ist
> und dann wieder weiter laufen.
>
> Habe es hier mit CapC2 von Andre H. versucht, indem ich gleich
> zu Beginn der Threads abfrage, ob das entsprechende Flag frei ist.
> Ist es nicht frei, soll der Thread warten, sonst normal weiterlaufen.
> Leider klappt das so nicht. Im Handbuch der Station steht, dass nur
> eine Funktion und keine Thread über ein impliziertes Capture
> synchronisiert werden kann. Trifft das auch bei dem CapC2 Modul
> zu?
> Oder sehe ich den Wald vor lauter Bäumen nicht bzw. fahre
> ein falsches Konzept?
>
> Hoffe jemand kann damit was anfangen und mir einen Tip geben.
>
> Mfg Volker
>


    Antwort schreiben


Antworten: