Softwareseitiges Multithreading - LinkFang.de





Softwareseitiges Multithreading


Softwareseitiges Multithreading (auch nur Multithreading, oder selten auch: Mehrfädigkeit) wird die Aufteilung eines Programmes in mehrere gleichzeitig abzuarbeitende Bearbeitungsstränge (Threads) genannt. Im Allgemeinen verwenden die Threads eines Programmes gemeinsame Ressourcen wie Adressraum, Datei-Handles etc.

Softwareseitiges Multithreading unterscheidet sich von hardwareseitigem Multithreading, welches eine scheinbare oder echte gleichzeitige Abarbeiten mehrerer Threads in nur einem vollständigen Prozessor-Kern eines Prozessors unterstützt.

Ob die Gleichzeitigkeit real oder scheinbar ist, hängt dabei vom verwendeten Betriebssystem und der Hardware ab. Um reale Gleichzeitigkeit zu erreichen, muss ein Mehrprozessorsystem, ein Mehrkernprozessor oder ein Prozessor mit Core MultiThreading hardwareseitigem Multithreading zur Verfügung stehen, und das Betriebssystem muss es einem Prozess erlauben mehrere CPUs gleichzeitig (nebenläufig) für verschiedene Threads zu verwenden.

Ziel des Multithreading

Threads werden verwendet, um einzelnen Programmteilen eine schnelle Reaktion auf Ereignisse zu erlauben.

Nur durch die Aufteilung eines Programms in mehrere Threads ist es möglich, die durch mehrere oder mehrfädige Prozessoren gebotene Leistung in einer einzelnen Anwendung auszunutzen.

Multithreading kann die Programmierung von Systemen wesentlich vereinfachen, sofern adäquate Unterstützung durch Programmiersprache oder Frameworks geboten wird. Da Quelltext und Laufzeit in ihrer Sequenzialität übereinzustimmen scheinen, erhalten Entwickler einen intuitiven Zugang.

Abgrenzung zu Multitasking

Bei Multitasking wird die Nebenläufigkeit mehrerer Prozesse gefordert, während sich Multithreading auf die Nebenläufigkeit von Bearbeitungssträngen innerhalb eines Prozesses bezieht.

Einige Betriebssysteme, z. B. Linux vor Kernel Version 2.6, realisieren Multithreading innerhalb des Multitasking. Hier ist jeder Thread ein eigener Task, der selbstständig in der Prozesstabelle aufgeführt wird. Im Gegensatz zu eigenständigen Prozessen teilen sich die verschiedenen Threads eines Prozesses jedoch den Speicher (Heap) und die vom Scheduler zugeteilte Rechenzeit.

Siehe auch


Kategorien: Betriebssystemtheorie | Parallelverarbeitung

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Softwareseitiges Multithreading (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.