Domov Hardware Co je to multithreading? - definice z techopedie

Co je to multithreading? - definice z techopedie

Obsah:

Anonim

Definice - Co znamená multithreading?

Vícevláknové zpracování je typ prováděcího modelu, který umožňuje existenci více podprocesů v kontextu procesu tak, že provádějí samostatně, ale sdílejí své procesní prostředky. Vlákno udržuje seznam informací důležitých pro jeho provedení, včetně plánu priority, obsluhy výjimek, sady registrů CPU a stavu zásobníku v adresovém prostoru svého hostitelského procesu.

Vícevláknové zpracování se také nazývá závitování.

Techopedia vysvětluje multithreading

Vlákno může být užitečné v systému s jedním procesorem tím, že hlavní podprocesové vlákno může reagovat na vstup uživatele, zatímco další pracovní vlákno může provádět dlouhodobé úkoly, které nevyžadují zásah uživatele na pozadí. Vlákno v systému s více procesory má za následek skutečné souběžné provádění vláken na více procesorech, a je proto rychlejší. Vyžaduje však pečlivější programování, aby se zabránilo neintuitivnímu chování, jako jsou závodní podmínky, zablokování atd.

Operační systémy používají navlékání vláken dvěma způsoby:

  • Preventivní multithreading, ve kterém je přepínač kontextu ovládán operačním systémem. Přepínání kontextu může být provedeno v nevhodném čase, Proto by vlákno s vysokou prioritou mohlo být nepřímo předepřeno vláknem s nízkou prioritou.
  • Kooperativní multithreading, ve kterém je přepínání kontextu řízeno vláknem. To by mohlo vést k problémům, jako jsou zablokování, pokud je vlákno blokováno a čeká na uvolnění zdroje.

32bitové a 64bitové verze systému Windows používají preventivní multithreading, ve kterém je dostupný čas procesoru sdílen, takže všechna vlákna získají stejný časový řez a jsou obsluhovány v režimu založeném na frontě. Během přepínání podprocesů je kontext předpjatého podprocesu uložen a znovu načten do dalšího podprocesu ve frontě. Časový řez je tak krátký, že se zdá, že běží podprocesy paralelně.

Tato definice byla napsána v kontextu počítačové architektury
Co je to multithreading? - definice z techopedie