Domov technické vybavenie Čo je to multithreading? - definícia z technológie

Čo je to multithreading? - definícia z technológie

Obsah:

Anonim

Definícia - Čo znamená multithreading?

Multithreading je typ modelu vykonávania, ktorý umožňuje existenciu viacerých vlákien v kontexte procesu tak, že vykonávajú samostatne, ale zdieľajú svoje prostriedky procesu. Vlákno udržiava zoznam informácií relevantných pre jeho vykonávanie vrátane plánu priorít, obsluhy výnimiek, sady registrov CPU a stavu zásobníka v adresovom priestore svojho hostiteľského procesu.

Viacvláknové spracovanie vlákien je známe aj ako vlákna.

Techopedia vysvetľuje multithreading

Vlákno môže byť užitočné v systéme s jedným procesorom tým, že umožňuje hlavnému vláknu vykonávania reagovať na vstup používateľa, zatiaľ čo ďalšie vlákno pracovníka môže vykonávať dlhodobé úlohy, ktoré nevyžadujú zásah používateľa na pozadí. Vlákno v systéme s viacerými procesormi má za následok skutočné súčasné vykonávanie vlákien vo viacerých procesoroch, a preto je rýchlejšie. Vyžaduje si však starostlivejšie programovanie, aby sa predišlo neintuitívnemu správaniu, ako sú pretekárske podmienky, zablokovanie atď.

Operačné systémy používajú vlákna dvoma spôsobmi:

  • Preventívne multithreading, v ktorom je prepínač kontextu riadený operačným systémom. Kontextové prepínanie by sa mohlo vykonávať v nevhodnom čase, Z tohto dôvodu by vlákno s vysokou prioritou mohlo nepriamo predchádzať vlákno s nízkou prioritou.
  • Kooperatívne viacvláknové spracovanie, v ktorom je prepínanie riadené vláknom. To by mohlo viesť k problémom, ako sú napríklad zablokovania, ak je vlákno zablokované a čaká na uvoľnenie prostriedku.

32-bitové a 64-bitové verzie systému Windows používajú preventívne multithreading, v ktorom je zdieľaný dostupný čas procesora, takže všetky vlákna získajú rovnaký časový úsek a sú obsluhované v režime založenom na frontoch. Počas prepínania vlákien sa kontext vopred vyprázdneného vlákna ukladá a znova načíta do nasledujúceho vlákna vo fronte. Časový segment je tak krátky, že sa zdá, že bežiace vlákna sa vykonávajú paralelne.

Táto definícia bola napísaná v kontexte počítačovej architektúry
Čo je to multithreading? - definícia z technológie