www.wikidata.de-de.nina.az
Softwareseitiges Multithreading auch nur Multithreading oder selten auch Mehrfadigkeit wird die Aufteilung eines Programmes in mehrere gleichzeitig abzuarbeitende Bearbeitungsstrange Threads genannt Im Allgemeinen verwenden die Threads eines Programmes gemeinsame Ressourcen wie Adressraum Datei Handles etc Softwareseitiges Multithreading unterscheidet sich von hardwareseitigem Multithreading welches das scheinbare oder echte gleichzeitige Abarbeiten mehrerer Threads in nur einem vollstandigen Prozessor Kern eines Prozessors unterstutzt Ob die Gleichzeitigkeit real oder scheinbar ist hangt 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 Verfugung stehen und das Betriebssystem muss es einem Prozess erlauben mehrere CPUs gleichzeitig nebenlaufig fur verschiedene Threads zu verwenden Ziel des Multithreading BearbeitenThreads werden verwendet um einzelnen Programmteilen eine schnelle Reaktion auf Ereignisse zu erlauben Nur durch die Aufteilung eines Programms in mehrere Threads ist es moglich die durch mehrere oder mehrfadige Prozessoren gebotene Leistung in einer einzelnen Anwendung auszunutzen Multithreading kann die Programmierung von Systemen wesentlich vereinfachen sofern adaquate Unterstutzung durch Programmiersprache oder Frameworks geboten wird Da Quelltext und Laufzeit in ihrer Sequenzialitat ubereinzustimmen scheinen erhalten Entwickler einen intuitiven Zugang Abgrenzung zu Multitasking BearbeitenBei Multitasking wird die Nebenlaufigkeit mehrerer Prozesse gefordert wahrend sich Multithreading auf die Nebenlaufigkeit von Bearbeitungsstrangen 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 selbstandig in der Prozesstabelle aufgefuhrt wird Im Gegensatz zu eigenstandigen Prozessen teilen sich die verschiedenen Threads eines Prozesses jedoch den Speicher Heap und die vom Scheduler zugeteilte Rechenzeit Siehe auch BearbeitenHardwareseitiges Multithreading User Thread Hyper Threading Parallelrechner Mehrkernprozessor Abgerufen von https de wikipedia org w index php title Softwareseitiges Multithreading amp oldid 188566510