Re: Nebenlaeufigkeit programmieren

From: Oliver Fromme <olli(at)secnetix.de>
Date: Fri, 14 Feb 2003 21:16:29 +0100 (CET)

Marc Santhoff <M.Santhoff(at)t-online.de> wrote:
> Am Fr, 2003-02-14 um 17.55 schrieb Bernd Walter:
> > Warum muß die Aufbereitung der Daten asyncron vom Empfang passieren?
> > Braucht die Aufbereitung so lange?

Das habe ich mich bei der Aufgabenbeschreibung auch geragt.

> 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.

Ich verstehe nicht -- wozu ein Timer? Warum kannst Du die
Daten nicht sofort nach dem Empfang weiterverarbeiten und
ausgeben? Dauert die Verarbeitung so lang?

Wenn es wirklich notwendig ist, Verarbeitung und Empfang
weiterer Daten zu parallelisieren, würde ich fork() nehmen.
Threads halte ich für gefährlich.

> [...]
> 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

Doch, genau das: der erste Parameter gibt die Anzahl der
zu selektierenden Deskriptoren an.

> sondern Maximum+1 enthält

Das ist das gleiche. :-)

select(3, ...) selektiert die ersten drei Deskriptoren,
d.h. 0 bis 2.

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"All that we see or seem is just a dream within a dream" (E. A. Poe)
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 - 21:16:32 CET

search this site