Mis vahe on protsessidel, ülesannetel ja lõimedel ning miks te rakendaksite oma programmis mitmekeelset lõimimist?


Vastus 1:

Protsessi ja lõime erinevus on jagatud mälus: protsess ei jaga mäluruumi (vähemalt vaikimisi või kui keegi ei kasuta spetsiaalseid opsüsteemi konstruktsioone) teiste protsessidega, samas kui lõimed töötavad samas mäluruumis (nt nad saavad jagada ühte andmestruktuuri, nt pilti või puhvrit).

Ülesanded on tööühikud, mis võivad esineda mõlemas kontekstis ja nende tähendus on pisut amorfsem ning varieerub operatsioonisüsteemide ja käitusaja vahel. Näiteks võite ülesande käivitada, kui kasutaja klõpsab GUI-l.

Soovite kasutada mitmekeermelist, kuna see annab teile paindlikkuse teha kahte asja korraga ja võimaldab teil kasutada mitmetuumalisi protsessoreid. Näiteks võiksite edenemisriba värskendamise ajal pildi renderdada. Või võiksite pildile rakendada pildifiltri, nii et jagate pildi 4 ossa ja käivitate iga osa jaoks ühe lõime.