Hallo zusammen, ich verstehe nicht so ganz den Unterschied von Multitasking zu Multithreading. Obwohl ich schon viele Seiten im Internet zu diesem Thema durchgelesen habe, stoße ich immer wieder auf die gleiche Frage: was sind Threads? Also ich versuch mal kurz mein Problem zu beschreiben: Multitasking: Ich teile mehrer Prozesse in Teilen auf, welchen ich eine Zeit gebe, dann bekommt ein andere Prozess meine CPU (wirklich nur kurz erklärt) Bedeutet: Word und Excel laufen "gleichzeitig". Word daf mal kurz was machen, dann Excel usw.. soweit sogut. Was aber zum Teufen sind diese Thraeds innerhalb dierser Teilprozesse. Zurück zu meinem Beispiel: Wenn also mal wiede Word dran ist für eine bestimmte Zeit (also mein Teilprozess), in was wird dann dieser noch mal geteilet????? Weche Fäden??? Habt ihr mal bitte ein echtes BEispiel dafür, ohne das Wot Threads zu benutzen. Wir könneten es ja so versuchen: Herr Müller und FRau Schmitt wollen beide Geld an einem Schalter einzahlen, und das gleichzeitig. Also der Mann an der KAsse nimmt erst einmal von Müller 1 Euro, dann wendet er sich Frau Schmitt zu, nimmt 5 Euro, dann wiede herrn Müller, der nennt schon mal die ersten 2 Zahlen seine Kontonummer, dann wieder frau schmitt usw... das ist multitasking mit einem Prozessor: wo finde ich hier Multithreadign??????????? Vielen Dank im voraus. Grüße Max
Es gibt nur einen formalen Unterschied. Threads gehören zum Prozess, Prozesse sind dem Benutzer und einem Programm/Dienst zugehörig.
Multitasking bezeichnet allgemein die Fähigkeit, mehrere Dinge quasi gleichzeitig zu tun. Zur Beschreibung dieser einzelnen Aufgaben gibt es zwei gebräuchliche Ausdrücke: Prozess und Thread. Inzwischen hat es sich etabliert, einen Prozess als eigenständig und unabhängig laufende Aufgabe zu sehen. Ein Thread ist im Unterschied dazu sehr eng mit anderen Threads verbunden, um seine Aufgabe zu realisieren. Dazu operiert er in der Regel im selben Adressraum wie seine Partner. Prozesse hingegen haben in der Regel voneinander getrennte Adressräume. Weil dieser Unterschied nicht sehr groß ist, wurde z.B. in Linux die Behandlung eines Prozesses so modifiziert, dass man beim Erzeugen eines Prozesses angeben kann, welche Eigenschaften gemeinsam genutzt werden und welche nicht. Dadurch gibt es für den Kernel nur ein einfaches Modell zur Verwaltung. Andere Betriebssysteme haben jeweils eigene Implementierungen für Prozesse und Threads (was die Sache nicht gerade einfacher macht).
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.