Sadržaj:
Definicija - Što znači Multithreading?
Multithreading je vrsta izvedbenog modela koji omogućava postojanje više niti u kontekstu procesa koji se izvršavaju neovisno, ali dijele svoje procesne resurse. Konac održava popis informacija relevantnih za njegovo izvršavanje, uključujući raspored prioriteta, programe za izuzeće, skup registara CPU-a i stanje snopa u adresnom prostoru svog postupka hostinga.
Multithreading je također poznat kao nit.
Tehopedia objašnjava Multithreading
Niti mogu biti korisni u jednoprocesorskom sustavu dopuštajući glavnom tijelu izvršenja da odgovori na unos korisnika, dok dodatna radna nit može izvršavati dugotrajne zadatke za koje ne treba intervencija korisnika u pozadini. Umetanje niti u višeprocesorski sustav rezultira istinskim istodobnim izvršavanjem niti na više procesora i zbog toga je brže. No potrebno je pažljivije programiranje kako bi se izbjeglo ne intuitivno ponašanje poput trkačkih uvjeta, zastoja itd.
Operativni sustavi koriste navoje na dva načina:
- Prevladavajuće multithreading, u kojem kontekstnim prekidačem upravlja operativni sustav. Zamjena konteksta može se izvesti u neprimjerenom vremenu, Dakle, nit s visokim prioritetom se može posredno ukloniti nitom s niskim prioritetom.
- Kooperativna višeslojna obrada u kojoj se mijenjanje konteksta upravlja navojem. To bi moglo dovesti do problema, poput zastoja, ako je nit blokirana čekajući da se resurs oslobodi.
32- i 64-bitne verzije sustava Windows koriste predpojačano multithreading u kojem se dijeli raspoloživo vrijeme procesora tako da svi niti dobiju jednak odsječak vremena i servisiraju se u režimu temeljenom na redu. Tijekom prebacivanja niti, kontekst prethodno ispražnjene niti pohranjuje se i učitava u sljedeću nit u redu čekanja. Vremenski odsječak je toliko kratak da se čini da se tekuće niti paralelno izvode.
Ova je definicija napisana u kontekstu arhitekture računara