Vlákno vs Proces
Proces
Ve světě počítačového programování je proces instancí nebo provedením programu. Každý proces obsahuje programový kód a existující aktivitu. Může existovat více než jedno vlákno, které může tvořit konkrétní proces. Instrukce mohou být prováděny souběžně. Závisí to však na používaném operačním systému.
Procesy jsou v zásadě velmi významné programy. Spotřebovávají značné množství paměti. Proto jsou velmi závislé na zdrojích dostupných pro provedení. Jak již bylo řečeno, je tento proces znám jako „těžký proces“.
Každý proces probíhá na jiném místě v paměti. Pokud tedy existuje více procesů, přepínání mezi jednotlivými procesy je velmi nákladné, protože přepnutí na jiné přidělení paměti bude vyžadovat čas. Každý proces má svůj vlastní adresní prostor, který může pohltit značné množství dodávek.
Proces je nezávislý na jiných procesech. Když je tedy rodičovský proces upraven, nemusí to nutně ovlivnit jiné procesy. Kvůli tomuto chování procesy vyžadují meziprocesovou komunikaci, aby mohly komunikovat se svými sourozenci.
Procesy navíc nejsou díky své mnohem komplexnější povaze vytvářeny snadno. To může vyžadovat určitou duplicitu procesů, obvykle rodičovského procesu, aby se dosáhlo konstrukce.
Vlákno
I při minimálních systémových prostředcích lze vlákna provádět současně, aby bylo dosaženo zadané úlohy. Důvodem je skutečnost, že vlákno je pouze prováděcí sekvence. Je to pouze proces, a proto se také označuje jako „lehký proces“..
Je považována za nejmenší část programu, protože se jedná o nezávislou sekvenční cestu provádění v rámci programu. Přepínání kontextu mezi vlákny vyžaduje minimální množství prostředků na rozdíl od procesů. Vlákna v podstatě sdílejí adresní prostory a také se snadno vytvářejí.
Je třeba také zmínit, že změny provedené v hlavním vláknu mohou mít vliv na chování ostatních vláken v rámci stejného procesu. Komunikace mezi vlákny ve stejném procesu je zjevně přímá a bezproblémová.
Souhrn:
1. Proces může obsahovat více než jedno vlákno.
2. Proces se považuje za „těžký“, zatímco vlákno se považuje za „lehký“.
3. Procesy jsou silně závislé na dostupných systémových prostředcích, zatímco vlákna vyžadují minimální množství prostředků.
4. Úprava hlavního vlákna může ovlivnit následující vlákna, zatímco změny v nadřazeném procesu nemusí nutně ovlivnit podřízené procesy.
5. Vlákna v procesu komunikují přímo, zatímco procesy nekomunikují tak snadno.
6. Vlákna se snadno vytvářejí, zatímco procesy nejsou tak jednoduché.