Huis Hardware Wat is multithreading? - definitie van techopedia

Wat is multithreading? - definitie van techopedia

Inhoudsopgave:

Anonim

Definitie - Wat betekent multithreading?

Multithreading is een type uitvoeringsmodel waarmee meerdere threads kunnen bestaan ​​binnen de context van een proces, zodat ze onafhankelijk worden uitgevoerd, maar hun procesbronnen delen. Een thread onderhoudt een lijst met informatie die relevant is voor de uitvoering ervan, inclusief het prioriteitsschema, uitzonderingshandlers, een set CPU-registers en de stackstatus in de adresruimte van het hostingproces.

Multithreading is ook bekend als threading.

Techopedia legt Multithreading uit

Threading kan handig zijn in een systeem met één processor door de hoofduitvoerthread te laten reageren op gebruikersinvoer, terwijl de extra werkthread langlopende taken kan uitvoeren waarvoor geen tussenkomst van de gebruiker op de achtergrond nodig is. Threading in een multiprocessorsysteem resulteert in echte gelijktijdige uitvoering van threads over meerdere processors en is daarom sneller. Het vereist echter een zorgvuldiger programmering om niet-intuïtief gedrag, zoals raceomstandigheden, deadlocks, etc. te voorkomen.

Besturingssystemen gebruiken threading op twee manieren:

  • Pre-emptieve multithreading, waarbij de contextschakelaar wordt bestuurd door het besturingssysteem. Het omschakelen van context kan op een ongeschikt tijdstip worden uitgevoerd. Vandaar dat een thread met hoge prioriteit indirect kan worden voorkomen door een thread met lage prioriteit.
  • Coöperatieve multithreading, waarbij contextomschakeling wordt bestuurd door de thread. Dit kan leiden tot problemen, zoals deadlocks, als een thread wordt geblokkeerd in afwachting van het vrij komen van een resource.

De 32- en 64-bits versies van Windows maken gebruik van preventieve multithreading waarbij de beschikbare processortijd zodanig wordt gedeeld dat alle threads een gelijke tijdslimiet krijgen en worden onderhouden in een wachtrij-gebaseerde modus. Tijdens het schakelen tussen threads wordt de context van een vooraf geïmplementeerde thread opgeslagen en opnieuw geladen in de volgende thread in de wachtrij. De tijdsegment is zo kort dat de lopende threads parallel lijken te worden uitgevoerd.

Deze definitie is geschreven in de context van computerarchitectuur
Wat is multithreading? - definitie van techopedia