Zum Inhalt springen

Multithread und Multitasking


baby18

Empfohlene Beiträge

Multithreading ist, wenn eine Anwendung mehrere Operationen gleichzeitig laufen lassen kann (sogenannte Threads)

und Multitasking ist, wenn man mehrere Anwendungen gleichzeitg laufen lassen kann, in Windows z.B. einen Explorer und Word gleichzeitig.

Du kannst dir übrigens im Taskmanager die Threads pro Programme anzeigen lassen, bzw, zumindest deren Anzahl: View-Select columns und dann Threadcount anhacken.

Multithreading beschränkt sich quasi auf eine Anwendung, und Multitasking sind mehrere Anwendungen gleichzeitig.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Naja, ein Programm kann ohne Threads ja immer nur eine bestimmte Sache auf einmal machen.

Nehmen wir mal einen Chatserver als Beispiel. Normalerweise wartet der auf Anfragen von seinen Clients. Wenn jetzt ein Client etwas zum Server schickt, kann er nicht gleichzeitig von anderen Clients was empfangen, die wären also geblockt. Wenn der Server aber jetzt für jeden Client einen eigenen Thread laufen hat, empfängt jeder Thread informationen, wenn vom Client was gesendet wird.

Die Clients blocken sich also nicht gegenseitig.

Von der Programmierung her ist das manchmal schwer zu synchronieren, aber das ist ja hier eher unwichtig.

Mit dem Wort gleichzeitig sollte man hier allerdings vorsichtig sein, weil vom Prozessor trotzdem alles sequentiell abgearbeitet wird, aber eben so schnell hin und hergeschalten wird, dass es gleichzeitig zu sein scheint...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

beim Multithreading existieren mehrere parallele Kontrollflüsse innerhalb eines einzelnen Prozesses. Die Threads teilen sich dabei den Kontext des Prozesses bzgl. der Ressourcen aus Betriebssystemsicht. Diese Funktionalität wird üblicherweise über Bibliothken zur Verfügung gestellt und ist auch in Betriebssystemen implementierbar, die keine Multitastking-Unterstützung besitzen (keinerlei Hardware Support notwendig).

Beim Multitasking laufen mehrere Prozesse parallel. Jeder dieser Prozesse ist unabhängig in einem eigenen Adressbereich und kann nicht auf die Ressourcen anderer Prozesse (Speicher usw.) zugreifen.

Nic

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

das war einer der wichtigsten Gründe für die Implementierung von Multithreading-Bibliotheken. Ein Kontext-Switch auf Prozessebene ist sehr teuer (= dauert lange) und ist auch nicht unbedingt notwendig, da viele Anwendungen nur Kontrollflüsse innerhalb eines Prozesses benötigen. Ein "Kontext-Switch" beim Multithreading ist dagegen um Größenordnungen schneller.

Nic

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...