Press "Enter" to skip to content

Goroutines – Go Lang Practical Programming Tutorial p.18


cosa sta succedendo a tutti il benvenuto a
un’altra go linguaggio di programmazione esercitazione
video in questo video che cosa saremo
parlare di concorrenza è o almeno
stiamo andando comincia a parlare
programmazione simultanea in movimento
lingua ora prima di cosa dovremmo parlare
circa è esattamente la concorrenza
perché questo può essere un po ‘ confuso
quindi la concorrenza non è in parallelo il
il modo in cui puoi pensarci è
la concorrenza è come trattare con
più cose contemporaneamente
mentre il parallelismo parallelo sta facendo
le cose più in qualsiasi momento quindi per
esempio la concorrenza è come considerare
sei come un amministratore delegato di un’azienda che sei
scrivere un memo a livello aziendale ma come
le e-mail arrivano in cui stai rispondendo alle e-mail
forse qualcuno viene a casa tua e
ti chiede una rapida domanda tu metti in pausa il
memo e rispondi a questa domanda e
poi si arriva di nuovo alla nota qualcosa
così stai facendo quelle cose
in modo concorrente così in quel modo quando questo
la persona viene a casa tua , no
Devo stare lì finché non lo sei
finito con il memo necessariamente o
qualcosa del genere quindi nel nostro caso piace
con il nostro web app stiamo spendendo un sacco di
tempo appena seduto lì stiamo mandando
le richieste che stiamo aspettando per il
chiede di tornare molto a
il tempo è come 50 a 75 millisecondi
moltiplicalo per ogni singola mappa del sito
che stiamo visitando e loro continuano a mantenere
sommando mentre in realtà potremmo essere
mentre aspettiamo una cosa
fare una risposta che potremmo effettivamente inviare
fuori un’altra richiesta o in attesa di quello
anche per fare una risposta dal suono
un’altra possibilità è che potremmo
probabilmente invierà tutte le nostre richieste in 75
millisecondi in modo in modo che è che è
la concorrenza così va come facciamo noi
la concorrenza è con le routine di go il modo
usiamo una routine di go è semplicemente
tipo go non ho idea di dove sia ma
in ogni caso digitare andare davanti alla funzione
chiama quindi facciamo solo un rapido esempio
per illustrare questo così sto solo andando
dì pacchetto principale e poi andremo
avanti e solo ne faremo una coppia
importazioni importeremo tempo e
formattare solo per stampare le cose e poi
diciamo che abbiamo una funzione che dice
qualunque stringa passiamo e basta
lo fa solo dice tutto così in questo
caso e infatti facciamo un po ‘
più complicato, quindi diciamo
itera come dice la cosa come
tre volte, diciamo per I : uguale
zero mentre io sono meno di tre e poi
Incremento formiamo solo la stampa puntiforme
linea s e poi andiamo avanti e
fare un tempo di stampo capitale s dieta tempo di sonno
volte millisecondi 100 così va bene I fresco
significa che questo dovrebbe essere totalmente chiaro come
cosa sta succedendo in questa funzione così
si spera si capisce ora facciamolo
andare avanti e rendere il nostro principale e poi il nostro
funzione principale
se vorremmo , diciamo che lo faremo
Diciamo due cose diciamo che stiamo per dire
dì hey e poi dillo, quindi salviamo
che vieni qui e poi vai a correre vai
e vediamo hey hey hey
là là c’è tutto tipo di corse
sai in parallelo qui o no
parallelo
corse in modo lineare piuttosto così quando siamo arrivati a
questo ha eseguito ciascuna delle iterazioni
prima che arrivasse a questa linea ora invece
cosa succede se abbiamo convertito una di queste cose
a una goroutine
per esempio, convertiamo solo il primo
una routine per andare e basta
la dichiarazione fantasma proprio di fronte
la funzione è così una routine di go
e andare è proprio come un filo leggero
okay, così verrà lanciato dire hey in a
filo per noi e questo è tutto
devi fare per farlo quindi andiamo
avanti e correre così velocemente e qui
possiamo vedere che va bene questa volta
in realtà ha detto lì prima che hey non lo farò
necessariamente non penso che non lo farebbe
necessariamente lo faccia sempre ma comunque
potrebbe avere forse sarebbe in realtà per a
La ragione lo spiego tra un momento così
cosa succede se abbiamo fatto entrambe queste regioni
quindi diciamo, digli di andare a dire così
cosa succede se li abbiamo fatti andare entrambi routine
cosa fai cosa succederebbe, quindi facciamolo
andare avanti ed eseguirlo molto velocemente e
all’improvviso non vediamo nulla e se, se e se
Noi abbiamo detto
come diciamo diciamo hey e poi andiamo
dì così là il primo esempio che abbiamo fatto
andava a dire hey e poi abbiamo appena detto di dire
c’è questa volta quello che voglio che facciamo
per dire hey e poi fai il dire
c’è così che cosa succederà qui è
solo dice hey hey hey giusto e così e
se facessimo di nuovo andare entrambi
le routine whoops se li abbiamo fatti andare entrambi
routine dove è otteniamo nulla di così
cosa sta succedendo qui
la routine di go-go è solo una specie di
lanciato fuori ma è intenzione è in esecuzione
contemporaneamente non c’è nulla in questo
dice hey questo assolutamente deve finire
giusto così se il tuo programma finisce prima
la routine di andare finisce è finita è
è non-bloccante quindi non è così
fare qualsiasi cosa così anche se abbiamo chiesto
queste cose da correre non lo sono
fare questo è il motivo per cui quando abbiamo detto di andare
dì hey e poi dì lì bene
richiede richiesto per finire così è stato
sicuramente finirò ed è per questo
questo è stato in grado di eseguire effettivamente e poi io
Immagino solo il lancio di fare questo
concomitante ha preso un po ‘più a lungo
e poi abbiamo effettivamente arrivati a questo punto
e quindi è per questo che l’orgoglio esiste
arrivando prima non positivo è solo il mio
Immagino quindi diciamo che hai detto di andare
dì ehi vai a dire che possiamo tipo di
Illustri che questo è l’ unico problema
che stiamo facendo facendo un tempo no
dieta del sonno, facciamo solo un secondo
salva quello venire qui e possiamo correre
questo e abbastanza sicuro tutto lo gestisce
aspetta un secondo, infatti, aspetta solo
per un secondo diritto perché questi sono
basta andare in routine così questi lanciato
ha lanciato in realtà non è in attesa di
questi e poi si dorme per un secondo
prima che il programma finisca così comunque
quelli sono solo molto veloci
esempio di base di routine di go ma di
Certo, immediatamente lo sarai
chiedendo bene intendo che va tutto bene
e dandy e come un semplice esempio
dove si aggiunge un po ‘di sonno
Alla fine e questo è tutto ciò che devi fare ma
in pratica questa non è una buona idea
proprio come tu non vuoi
gestisci le tue routine di goe ciao
pensando a te stesso va bene per quanto tempo
dovrebbero prendere questi e poi sai
forse aggiungerò ancora un po ‘di tempo
e poi va bene, perché sei
lascerò il tempo sul tavolo così sicuramente
c’è un modo migliore, giusto e c’è
e così nel prossimo tutorial cosa siamo
davvero parlando è come è possibile
sincronizzare effettivamente queste routine
aspettare che si completino e a
fondamentalmente aspettano che lo facciano
completa senza lasciare il tempo sul
tabella usando qualcosa di arbitrario e
hacky come il tempo non dormire per alcuni
quantità di tempo quindi comunque è quello che
stiamo andando a che fare con il prossimo
tutorial se hai commenti alle domande
riguarda qualsiasi cosa si senta libera di andarsene
li sotto altrimenti ti vedrò
il prossimo tutorial
Please follow and like us:

Be First to Comment

Lascia un commento