Vlákno vs proces
proces
Vo svete počítačového programovania je proces inštanciou alebo vykonaním programu. Každý proces obsahuje programový kód a existujúcu aktivitu. Môže existovať viac ako jedno vlákno, ktoré môže tvoriť konkrétny proces. Pokyny sa môžu vykonávať súbežne. Závisí to však od používaného operačného systému.
Procesy sú v podstate veľmi rozsiahle programy. Spotrebúvajú značné množstvo pamäte. Preto sú vo veľkej miere závislé od zdrojov, ktoré sú k dispozícii na vykonanie. Po tom všetkom, o ktorom sa hovorí, je tento proces známy ako „ťažký proces“..
Každý proces prebieha na inom mieste v pamäti. Preto, ak je prítomných viac procesov, prepínanie medzi jednotlivými procesmi je veľmi nákladné, pretože prepnutie na iné pridelenie bude vyžadovať určitý čas. Každý proces má svoj vlastný adresný priestor, ktorý môže pohltiť značné množstvo dodávok.
Proces je nezávislý od iných procesov. Keď sa zmení rodičovský proces, nemusí to nevyhnutne ovplyvniť iné procesy. Kvôli tomuto správaniu si procesy vyžadujú medziprocesovú komunikáciu, aby mohli komunikovať so svojimi súrodencami.
Okrem toho sa procesy kvôli ich oveľa komplexnejšej podstate nevytvárajú ľahko. To si môže vyžadovať určitú duplikáciu procesov, zvyčajne rodičovského procesu, aby sa dosiahla konštrukcia.
závit
Aj pri minimálnych systémových zdrojoch je možné vlákna vykonávať súčasne, aby sa dosiahla zadaná úloha. Dôvodom je skutočnosť, že vlákno je iba postupnosť vykonania. Je to len proces, a preto sa tiež označuje ako „ľahký proces“..
Považuje sa za najmenšiu časť programu, pretože ide o nezávislú sekvenčnú cestu vykonávania programu. Prepínanie kontextu medzi vláknami vyžaduje na rozdiel od procesov minimálne množstvo prostriedkov. Vlákna v podstate zdieľajú adresné priestory a tiež sa ľahko vytvárajú.
Malo by sa tiež spomenúť, že zmeny vykonané v hlavnom vlákne môžu mať vplyv na správanie ostatných vlákien v rámci toho istého procesu. Komunikácia medzi vláknami v rovnakom procese je evidentne priama a bezproblémová.
Zhrnutie:
1. Proces môže obsahovať viac ako jedno vlákno.
2. Proces sa považuje za „ťažký“, zatiaľ čo vlákno sa považuje za „ľahký“.
3. Procesy sú vo veľkej miere závislé od dostupných systémových prostriedkov, zatiaľ čo vlákna vyžadujú minimálne množstvo prostriedkov.
4. Úprava hlavného vlákna môže ovplyvniť nasledujúce vlákna, zatiaľ čo zmeny v nadradenom procese nemusia nevyhnutne ovplyvniť podradené procesy.
5. Vlákna v rámci procesu komunikujú priamo, zatiaľ čo procesy nekomunikujú tak ľahko.
6. Vlákna sa dajú ľahko vytvoriť, zatiaľ čo procesy nie sú také jednoduché.