Goroutines: Under the Hood | Vicki Niu | Go Systems Conf SF 2020

  Рет қаралды 7,308

Hypermode

Hypermode

Күн бұрын

Пікірлер: 20
@Rohinthas
@Rohinthas 3 ай бұрын
This has become a regular refresher watch for me, the presentation style really works for me!
@Gigasharik5
@Gigasharik5 Ай бұрын
absolute cinema
@rocknroll7967
@rocknroll7967 7 ай бұрын
Thank you so much Vicki ! I could not find any resource which explains go routines in detail
@RobertFletcherOBE
@RobertFletcherOBE 3 ай бұрын
This is really informative. Nice job
@myrachoantonio8832
@myrachoantonio8832 Жыл бұрын
wow I must confess that thats was a little weird intro of how you spent your free time , but it got me thinking that - maybe thats how geniuses spend their free time - coz honestly this material is awesome thank you very much!
@larditard
@larditard Жыл бұрын
This was a fantastic video, thank you!
@setkyarwalar
@setkyarwalar 4 ай бұрын
Thank you ကျေးဇူးတင်ပါတယ်။
@Fardin.Alizadeh
@Fardin.Alizadeh Жыл бұрын
nice and concise!
@Rohinthas
@Rohinthas 4 ай бұрын
that was really helpful, thanks!
@andreypanin3096
@andreypanin3096 2 ай бұрын
The animation is awesome, but the overall impression of the presentation is that it's a bit shallow. For example, aren't networking calls system calls? They are. How does a `g` gets unblocked after a syscall? By itself or with a help from the scheduler? Also, you said shrinking of a stack is easy, but if we borrowed a continuous region of memory from the heap, we can't simply ask the OS to reduce its size to match the new stack, can we?
@xv2beta999
@xv2beta999 28 күн бұрын
Networking calls are system calls, but if you use i.e net/http, go will manage these in a separate component net-poller, it is a interface, which is important, because the implementation of how net-poller will unblock a 'g' will depends on the actual O.S it is running.
@NguyenTuan-ek1pv
@NguyenTuan-ek1pv 2 жыл бұрын
Hi, why does Goroutine needs an OS thread to run on? Can it run without OS thread? Thank you.
@chriszhang8365
@chriszhang8365 2 жыл бұрын
All code needs to be put in cpu to run. Go routine is a higher level concept than OS thread. From low level to high level: CPU => Processes => OS Threads => go runtime => Goroutines
@NguyenTuan-ek1pv
@NguyenTuan-ek1pv 2 жыл бұрын
@@chriszhang8365 so does goroutines stack and os stack has anything to do with each other I'm still confused how they are combined It's great if you can give me some references Thanks for your reply
@esra_erimez
@esra_erimez 10 ай бұрын
@@chriszhang8365 The importance of this reply cannot be overstated.
@bjj-and-cpp
@bjj-and-cpp 7 ай бұрын
@@NguyenTuan-ek1pv The OS scheduler needs a stack for any thread that it is running. It is alot of memory though (like 2MB). The Go runtime scheduler also has a stack for every goroutine. But the scheduler keeps alot of the context for threads in the runtime memory, so that goroutine stacks are really small (like 2KB)
@taintedmind3033
@taintedmind3033 2 жыл бұрын
i fell i love...
@faeancestor
@faeancestor Жыл бұрын
strange comment
@brinckau
@brinckau 10 ай бұрын
I fell in love with goroutines too, they are really great!
@esra_erimez
@esra_erimez 10 ай бұрын
Creepy
СОБАКА ВЕРНУЛА ТАБАЛАПКИ😱#shorts
00:25
INNA SERG
Рет қаралды 3,9 МЛН
Ice Cream or Surprise Trip Around the World?
00:31
Hungry FAM
Рет қаралды 18 МЛН
Concurrency in Go
18:40
Jake Wright
Рет қаралды 621 М.
Антон Сергеев, «Go под капотом»
36:37
Kolesa Group
Рет қаралды 102 М.
Всё про конкурентность в Go
23:36
defer panic
Рет қаралды 19 М.
5 Signs of an Inexperienced Self-Taught Developer (and how to fix)
8:40
This is why Go Channels are awesome
6:06
Web Dev Cody
Рет қаралды 14 М.
Rob Pike: What Golang Got Right & Wrong
29:23
ThePrimeTime
Рет қаралды 148 М.