Wat is 'n go-roetine?
Wat is 'n go-roetine?

Video: Wat is 'n go-roetine?

Video: Wat is 'n go-roetine?
Video: My Wash N Go Routines | How I Achieve Any Look I Want 2024, November
Anonim

Goroutines is funksies of metodes wat gelyktydig met ander funksies of metodes loop. Goroutines kan beskou word as ligte drade. Die koste om 'n Goroutine is klein in vergelyking met 'n draad. Daarom is dit algemeen vir Gaan toepassings om duisende Goroutines gelyktydig te laat loop.

Hierin, wat is 'n kanaal aan die gang?

In Gaan taal, a kanaal is 'n medium waardeur 'n goroutine met 'n ander goroutine kommunikeer en hierdie kommunikasie is slotvry. Of met ander woorde, a kanaal is 'n tegniek wat toelaat dat een goroutine data na 'n ander goroutine stuur.

Verder, hoeveel Goroutines kan op een slag hardloop? Op 'n masjien met 4 GB geheue geïnstalleer, beperk dit die maksimum aantal goroutines tot effens minder as 1 miljoen. Dit is prakties om honderde duisende te skep goroutines in dieselfde adresspasie.

Gevolglik, hoe gebruik jy 'n Goroutine?

Om hierdie funksie in a goroutine , gebruik gaan f(s). Hierdie nuwe goroutine sal gelyktydig met die roepende uitvoer. Jy kan ook begin met 'n goroutine vir 'n anonieme funksie oproep. Ons twee funksie-oproepe loop asynchronies afsonderlik goroutines nou.

Kan 'n Goroutine 'n waarde teruggee?

Hardloop goroutine (asinchronies) en haal terugkeer waarde van funksie is in wese teenstrydige aksies. Maar wanneer jy funksie toewys terugkeer waarde na 'n veranderlike wat jy verwag om dit te hê waarde binne die veranderlike. So wanneer jy dit doen x:= gaan doen Iets(arg) sê jy: Gaan aan, moenie wag vir die funksie nie!

Aanbeveel: