[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Antw: [DDL-ML] Aufruf: DDL und Linux Kernel
Hallo Peer,
>
> Ich befürchte, ich verstehe nicht so ganz. Ich gehe mal davon aus, dass Du von rcsh und nicht von rcman sprichst.
Ja, natürlich.
> Gut, sprechen wir über srcp. Du hast recht, es gibt ein vordefiniertes, globales Objekt srcp. Es ist eine Instanz der Klasse srcp_connection. Ich denke, Du kannst beliebig viele Instanzen davon erzeugen. Also könntest Du mittels Threads jedem thread eine Connection zuweisen und dort Dein wait machen lassen.
Ich habe es nicht allzugut ausgedrückt, ich versuchs noch mal:
Die Klasse srcp_connection ist ok, aber in allen Accessoires (Loks, GA, FB) etc wird
Bezug auf das globale srcp Objekt (Instanz?) genommen. Wenn ich also einen WAIT
auf mit einem FB Objekt machen wollte, sind alle anderen Aktionen gesperrt, da die
(einzige) Connection ja beschäftigt ist. Da es aber in meinem Programm
möglich sein soll, mehrere Aktionen (die Listen von EInzelaktionen sind) gleichzeitig
laufen zu lassen, würde ich an dieser Stelle auf ein Nadelöhr treffen. Und eben diese
Parallelität (Threads) ist es gerade, die mich weg von tcl führt.
Wenn also diese srcp_connecion Instanz ein Parameter (ggf. optional mit default
auf die globale Instanz) für die Aktionen der accessoires werden kann, könnte ich
mehr als nur die srcp_connection Klasse von rcsh benutzen. So sind alle anderen
Klassen nicht verwendbar und ich muß einen zweiten Objektbaum aufbauen, der
ja im Grunde das gleiche macht.
Klar: Wenn ich auf die WAIT verzichte, kann ich rcsh schon jetzt benutzen: Dann
werden nur (zeitlich) kurze Befehlsfolgen abgefeuert. Nur habe ich dann den
Nachteil, das die Aktionslisten dann relativ kurz sind und es sich (nach meinem
Empfinden) zuviele ergeben, deren wechselseitige Beziehungen nicht mehr unbedingt
überschaubar sind:
Beispiel: Zug fährt aus
1. Weichenstraße schalten (ggf. sichern etc pp, ist aber nicht zwingend)
2. Zug langsam ausfahren lassen
3. Wenn Zug Ausfahrt geschafft hat, beschleunigen (und entsichern).
Wenn ich den 3. Punkt in der gleichen Aktionskette haben kann, wär das
IMHO ein Gewinn an Übersichtlichkeit. Nur ist da der SRCP WAIT recht
praktisch. Sonst habe ich 3 Aktionsketten, für jeden Teilschritt eine.
Wenn man jetzt unterstellt, es werden zwei Bahnhöfe so im Pendelzugbetrieb
angesteuert und ein dritter Zug ist auf der freien Strecke, wird das schon
komplex, und mit einem blockierenden WAIT katastrophal.
Bevor ich dies aber so vorgebe (keine Wait, nur kurze Aktionsketten), versuche ich
doch eher, Dich zu überreden, rcsh auszubauen ;=)
Viele Grüße
Matthias
--
Wer andere zitiert hat selber nichts zu sagen ;=)
http://members.tripod.de/mtrute/