Thread (multithreading): Rozdiel medzi revíziami

Smazaný obsah Přidaný obsah
Bronto (diskusia | príspevky)
Bez shrnutí editace
Helix84 (diskusia | príspevky)
d Bola obnovená posledná úprava od Helix84
Riadok 1:
Použitie'''Vlákno''' threadovv [[informatika|informatike]] je spôsob, ako rozdeliť program na dva alebo viac rovnocenne bežiací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ôznychrôzných 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 saje podobápodobné [[proces]]uprocesu, odlišný je spôsob zdieľania prostriedkov a súvisiaciasociovaný kontext.
'''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]].
 
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 [[vyvolaniesystémové systémuvolanie|vyvolaniasystémové systémuvolania]]. Niektoré implementácie sa nazývaju vlákna jadra ([[kernel thread]]sthreads), 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 užívateľské.
Použitie threadov je spôsob, ako rozdeliť program na dva alebo viac rovnocenne bežiací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]]u, odlišný je spôsob zdieľania prostriedkov a súvisiaci kontext.
 
Iné použitie pojmu vlákno je pre vláknový kód, čo je časť kódu pozostávajúca z volania podprogramu napísaná bez použitia inštrukcii na volanie podprogramu a spracovania interpreterom alebo procesorom. Existujú dva jazyky pre vláknový kód a sú to [[Forth]] a skorší programovací jazyk [[B (programovací jazyk)|B]].
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 užívateľské.
 
[[en:Thread (computer science)]]
 
[[Category:InformatikaTechnológie operačných systémov]]
[[Category:Programovacie techniky]]