Thread (multithreading): Rozdiel medzi revíziami
Smazaný obsah Přidaný obsah
Bez shrnutí editace |
d Bola obnovená posledná úprava od Helix84 |
||
Riadok 1:
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 [[
▲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:
[[Category:Programovacie techniky]]
|