Mikä on go-rutiini?
Mikä on go-rutiini?

Video: Mikä on go-rutiini?

Video: Mikä on go-rutiini?
Video: mun aamu rutiini 2024, Marraskuu
Anonim

Gorutiinit ovat toimintoja tai menetelmiä, jotka toimivat samanaikaisesti muiden funktioiden tai menetelmien kanssa. Goroutineja voidaan pitää kevyinä lankoina. Luomisen kustannukset a Goroutine on pieni lankaan verrattuna. Siksi se on yleinen Mennä sovelluksia, jotta tuhansia Goroutineja on käynnissä samanaikaisesti.

Tässä, mikä kanava on meneillään?

Sisään Mennä kieli, a kanava on väline, jonka kautta gorutiini kommunikoi toisen goritiinin kanssa ja tämä viestintä on lukitsematonta. Tai toisin sanoen a kanava on tekniikka, joka sallii yhden gorutiinin lähettää tietoja toiselle gorutiinille.

Lisäksi kuinka monta Goroutinea voi ajaa kerralla? Koneessa, jossa on 4 Gt muistia, tämä rajoittaa enimmäismäärää gorutiinit hieman alle 1 miljoonaan. On käytännöllistä luoda satoja tuhansia gorutiinit samassa osoiteavaruudessa.

Näin ollen, miten käytät Goroutinea?

Voit käynnistää tämän toiminnon kohdassa a goutiini , käyttää mene f(s). Tämä uusi goutiini suoritetaan samanaikaisesti kutsuvan kanssa. Voit myös aloittaa a goutiini anonyymille funktiokutsulle. Kaksi funktiokutsuamme toimivat asynkronisesti erikseen gorutiinit nyt.

Voiko Goroutine palauttaa arvon?

Juosta goutiini (asynkronisesti) ja hae palautusarvo toiminnasta ovat pohjimmiltaan ristiriitaisia toimia. Mutta kun määrität toiminnon palautusarvo muuttujaan, jonka odotat saavansa tämän arvo muuttujan sisällä. Joten kun teet sen x:= go doSomething(arg), sanot: Jatka, älä odota funktiota!

Suositeltava: