Threads

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Threads
Ich hab eigentlich nur eine kleine Verstaendnisfrage die mir hier vielleicht jemand aufklaeren koennte … Quasi ein Geistesknoten :smiley:

Korrespondiert mit einem Thread auch immer ein dazugehoeriger Prozess ? Oder koennte mann auch hergehen und eine andere Gleichung aufstellen (rein vom Konzept her und nur so angenommen). ?? Ich bin net sicher, weil ich glaub da hat sich bei mir das Verstaendnis im Laufe der Zeit dann doch etwas verknotet: Is etz ein Prozess ein Thread, oder stellt er nur einen Thread dar (sowie ein Prozess das laufende Programm mit Daten darstellt) ???

Hilfe ! :#: :#: :#: :#: :#: :wand: :wand: :wand: :wand: :wand: :wand: :wand: :#: :#: :#: :#: :#:


ein prozess ist in multithreaded umgebungen ein container für threads, wobei ein
thread der masterthread ist - wird er beendet, dann terminiert auch der prozess.
(AFAIR war das unter win32 so … )

ansonsten könntest du dich ein kleines bisschen deutlicher ausdrücken? :wink:


und um noch ein wenig verwirrung zu stiften: unter unix ist ein prozess ein adressraum, in dem nur ein thread läuft…


Ich glaube das mit dem “deutlicher ausdrücken” fällt ihm derzeit noch etwas schwer…
Stell dir vor, du hast einen Prozess. Sowas kennst du ja, eine Folge von Anweisungen; ein Adressraum, indem du alle Funktionen aufrufen und auf globale Variablen zugreifen kannst. Die wird jetzt der Reihe nach ausgeführt. Ein Thread (engl. Faden) ist jetzt so eine Ausführungsreihe von Anweisungen. Derer gibt es in älteren UNIX-Systemen eben immer nur einen pro Prozess, in neueren Linux-Kernels AFAIK, Solaris (siehe Folien) und Win32 kann es mehrere Threads pro Prozess geben. Die werden (unter Win32) durch Angabe einer Startfunktion gestartet und laufen dann parallel zu den anderen Threads im Prozess mit. So kannst du gleichzeitige Abläufe mit nur einem Prozess erreichen.
Eine Anwendung dafür wären z.B. die Server-Verbindungen, für die wir jedes Mal einen neuen Prozess aufgemacht haben. An der Stelle kann man genauso gut Threads verwenden, die machen weniger Aufwand im System beim Umschalten.
War das jetzt einigermaßen klar zu verstehen?


AH ! etz funkts langsam. Ja, die Verwirrung kam dadurch zustande dass mir nicht ganz klar war wo nun der eigentliche Unterschied sei zwischen dem Thread und dem Prozess.
Merci ! :gun: :cool: