Sobes.tech
Senior

Ի՞նչ է գորուտինան: Ինչու՞ է այն կոչվում թեթև: Գորուտինայի սկզբնական հիշողության չափը ինչ է և առավելագույնը ինչ է?

sobes.tech AI

Պատասխան AI-ից

Goroutine-ը՝ դա Go լեզվի մեջ թեթև գործարկման թել է, որը իրականացնում է ռանթայմի մակարդակով և ոչ թե օպերացիոն համակարգի մակարդակով։ Այն թույլ է տալիս գործառույթները կատարել զուգահեռաբար՝ նվազագույն ավելորդ ծախսերով։

Նա կոչվում է թեթև, քանի որ համակարգային թելերից տարբեր՝ goroutine-ները շատ քիչ հիշողություն են պահանջում և արագ ստեղծվում։ Դա հասնում է դինամիկ կառավարման միջոցով՝ stack-ի և ծրագրավորողի մակարդակով Go-ի պլանավորողի միջոցով։

Goroutine-ի սկզբնական stack-ի չափը սովորաբար մոտ 2 ԿԲ է (հին տարբերակներում՝ 4 ԿԲ), բայց stack-ը կարող է դինամիկորեն մեծանալ և փոքրանալ՝ կախված կարիքներից, հասնելով մի քանի մեգաբայթերի (սովորաբար մինչև 1 ԳԲ, թեև պրակտիկայում նման մեծ stack-ը հազվադեպ է պահանջվում): Այս մոտեցումը թույլ է տալիս միաժամանակ գործարկել հազարավոր և նույնիսկ միլիոնավոր goroutine-ներ՝ առանց զգալի հիշողության ծախսերի։