Re: FreeBSD und threads

From: Matthias Fechner <idefix(at)fechner.net>
Date: Fri, 6 May 2005 17:20:31 +0200

Hallo Karsten,

* Karsten Radusch <kradusch(at)informatik.tu-cottbus.de> [05-05-05 19:37]:
> Gibt es in VXWorks eigentlich nur Tasks, oder gibt es auch so eine
> Unterscheidung zwischen (schwergewichtigen) Prozessen und
> (leichtgewichtigen) Threads, wie bei Unix?

ich kenne jetzt leider den Unterschied zwischen Threads und tasks noch
nicht wirklich genau, um dir hier eine genau Antwort geben zu können,
aber ich versuche es mal, vielleicht wird mir da persönlich dann auch
einiges klarer.

Unter VXWorks läuft eigentlich alles als Task, aber wenn ich ein
taskSpawn in einem Programm mache, kann ich dem Parameter mitgeben,
hier z.B. einen Zeiger auf ein Object.
Bei Taskspawn wird dann eine EntryPoint Funktion aufgerufen (diese ist
eine normale C Funktion) - wird als Parameter mitgegeben - und von dort
aus, mit dem Zeiger auf das Objekt, kann ich wieder mit dem Objekt selber
arbeiten, z.B. Methoden aufrufen etc. (ich denke mal das ist so ähnlich
wie threads unter unix...)

Dieser neue Task kann dann mit den Daten von diesem Object arbeiten
und kann z.B. mit Messagequeues oder Semaphoren etc. mit dem
"Haupttask" reden.

Ich habe mir hier einen kleinen Netzwerkserver geschrieben, der auf
einem Port hört und entsprechend Task spawned, damit er viele
Verbindungen "gleichzeitig" bearbeiten kann.

Das wollte ich jetzt auch unter FreeBSD laufen lassen.

Aber nochmal danke dir und Bernd, ich werde hoffentlich am Sonntag
Zeit haben, mich ein bischen in die Threads einzulesen.
Jetzt hab ich ja schon mal ein paar Manpages. :)

-- 
Gruss
Matthias
"Programming today is a race between software engineers striving to build
bigger and better idiot-proof programs, and the universe trying to produce
bigger and better idiots. So far, the universe is winning." -- Rich Cook
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 06 May 2005 - 17:22:29 CEST

search this site