Re: Nebenlaeufigkeit programmieren

From: Marc Santhoff <M.Santhoff(at)t-online.de>
Date: 14 Feb 2003 19:14:41 +0100

N'Abend Bernd!

Am Fr, 2003-02-14 um 17.55 schrieb Bernd Walter:
> On Fri, Feb 14, 2003 at 05:33:45PM +0100, Marc Santhoff wrote:
> > Ich brauche mal ein RTFM oder Denkanstöße für folgendes Problem:
> >
> > Ein (Userland)Programm soll zwei Aufgaben quasi-parallel erledigen.
> > Dabei handelt es sich um eine lesende Datensammlung (mit select) und die
> > asynchrone Aufbereitung der gelesenen Daten mit Bidschirmausgabe.
>
> Warum muß die Aufbereitung der Daten asyncron vom Empfang passieren?
> Braucht die Aufbereitung so lange?

Das ist allerdings eine gute Frage. Der Grundgedanke dabei war
Modularität und Wiederverwendbarkeit. Für eine schnelle praktikable
Lösung hast Du recht, da kann ich auch einen Timer benutzen, der bei
Ablauf die Ausführung der weniger aufwendigen Aufgabe anstößt.

Kniffelig wird es dann eben mit der Steuerung der Hauptsache, aber
select() sollte ja nur zurückkehren, wenn es etwas zu lesen gibt oder
das timeout abgelaufen ist. Das ist dann der Ereignismechanismus. Oder
verstehe ich was falsch?

[...]
> > Welche Möglichkeiten gibt es?
> >
> > Welche ist für diesen Fall am besten?
>
> Fork wäre am Effizientesten, aber erfordert mehr Detail-Kenntnisse.
[...]
> Dann sollte die Manpage wohl reichen.

Danke für die vielen guten Hinweise, ich werde erstmal mit den manpages
anfangen.

Bis ich select() zum springen bekommen habe, hat es zwar etwas gedauert
und die comp.programming.os.unix-FAQ (o.ä. aus google) gebraucht, die
etwas deutlicher sagt, daß der erste Parameter nicht die Zahl der
Deskriptoren sondern Maximum+1 enthält, aber immerhin. :)
 
Gruß,
Marc

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 14 Feb 2003 - 19:15:46 CET

search this site