Sobes.tech
Junior — Middle

Prečo je možné spustiť tisíc korutín, zatiaľ čo spustenie tisíc vlákien je zvyčajne nemožné?

sobes.tech AI

Odpoveď od AI

Dôvodom je, že korutiny sú ľahké vlákna, spravované na úrovni aplikácie (napríklad pomocou plánovača v Kotlin alebo iných jazykoch), a nie systémové vlákna operačného systému. Nevyžadujú pridelenie samostatného zásobníka pamäte a systémových zdrojov, takže ich možno spustiť tisíce bez významnej záťaže.

Na rozdiel od toho systémové vlákna vyžadujú pridelenie pamäte pre zásobník, kontext prepínania a ďalšie zdroje, čo obmedzuje ich počet. Korutiny naopak pracujú v jednom alebo viacerých vláknach, veľmi rýchlo a efektívne sa prepínajú, čo umožňuje škálovanie asynchrónnych operácií bez veľkých nákladov.