mikrocontroller.net

Forum: PC Hard- und Software Multithreading und Multitasking


Autor: max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Jorge (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt nur einen formalen Unterschied. Threads gehören zum Prozess, 
Prozesse sind dem Benutzer und einem Programm/Dienst zugehörig.

Autor: Wolfgang Mües (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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).

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.