Thread (multithreading): Rozdiel medzi revíziami

d
wikilinky
(porovnanie vlákien a procesov)
d (wikilinky)
'''Thready''' (z angl. vlákno; súvislosť) alebo hovorovo '''vlákna''' v [[informatika|informatike]] sú nezávisle bežiace úlohy, na ktoré je pri tzv. [[multithreading]]u rozdelený jeden [[program]].
 
Použitie threadov je spôsob, ako rozdeliť program na dve alebo viac rovnocenne vykonávaných úloh. Viaceré vlákna môžu byť vykonávané naraz – nazýva sa to [[multithreading]] (porovnaj s [[multiprogramovanie]]). Multithreading sa obyčajne zabezpečuje buď [[zdieľanie času|rozdeľovaním času]] (kde jeden procesor prepína medzi vykonávaním rôznych vlákien) alebo [[paralelné spracovanie dát]] - [[multiprocessing]] (kde sú vlákna vykonávané na viacerých procesoroch ([[symmetric multiprocessing|SMP]]) či jadrách procesora ([[chip multiprocessing|CMP]])). Vlákno sa podobá [[proces (informatika)|procesu]]u, odlišný je spôsob zdieľania prostriedkov a súvisiaci kontext.
 
Veľa moderných operačných systémov priamo podporuje obidva spôsoby – rozdeľovanie času aj multiprocessing s plánovaním procesov ([[scheduling]]). Jadro operačného systému dovoľuje programátorom manipulovať s vláknami cez [[vyvolanie systému|vyvolania systému]]. Niektoré implementácie sa nazývaju vlákna jadra ([[kernel thread]]s) alebo odľahčené procesy. Program može mať vlákna implementované aj bez podpory operačného systému pomocou časovačov, signálov, alebo inak. Je však potrebné prerušiť vlastné vykonávanie a odtiaľ urobiť vlastné rozdeľovanie času. Tieto vlákna sa niekedy nazývaju používateľské.
1 302

úprav