Go Class: 26 Channels in Detail

  Рет қаралды 12,225

Matt KØDVB

Matt KØDVB

Күн бұрын

In this segment I drill down into some details about channel behavior, particularly the difference between buffered and unbuffered channels, and talk about when you might want a buffered channel. I also introduce a buffered channel as a type of counting semaphore.
NB: there seem to be some issues with sound equalization & level.
Slides at: github.com/matt4biz/go-class-...

Пікірлер: 22
@itprofit32
@itprofit32 2 жыл бұрын
Gorgeous, just gorgeous! So clear. The best course to my mind. Thank you once more!
@karanssh
@karanssh 3 жыл бұрын
Awesome video. Will watch your entire series (eventually) Loved these: 19:58 : It sleeps for a second, which is like a million years in computer time 20:27 : Why did I do this - (I ask myself this a lot too :P)
@user-hf4qp8od5g
@user-hf4qp8od5g 2 ай бұрын
Sir hats off to you this amazing content, 1 second =million years in computer time, that was funny 😆
@yuxiang4218
@yuxiang4218 4 ай бұрын
best go course
@punto-y-coma7890
@punto-y-coma7890 7 ай бұрын
The best channels explanation I'v found on YT. Clearly the author understands really deep what's going on and your method of explanation simplify the hard thing and make it really simple to understand. Thank you very much :)
@samikstream
@samikstream Жыл бұрын
Awesome explanation on channels..helps to create a better mental model
@emzx111
@emzx111 6 ай бұрын
Thank you Matt this is awesome content 🙏. The analogies are very thoughtful and makes the learning stick. Slide 6 is particularly handy and original.
@snuggie12
@snuggie12 Жыл бұрын
I have to agree with others. The way you explain things just resonates with me. I actually jumped around at first looking for the stuff on my pet/learning project, but now started them sequentially. I guess I'm like 11 other people that I randomly chose this video to finally comment. haha I'm hoping towards the end some "best practices" will be covered when it comes to starting a server. I think I see it ahead.
@MarcelTndl
@MarcelTndl Жыл бұрын
Absolutley amazing Matt . Saludos from Argentina
@sayedhasan4102
@sayedhasan4102 6 ай бұрын
Amazing, I really love the way to teach ❤
@Gigasharik5
@Gigasharik5 9 ай бұрын
this is pure gold
@alitorabi9951
@alitorabi9951 10 ай бұрын
Perfect ! Thank you
@larrasket
@larrasket Жыл бұрын
Why the hell there is no people like this in my school
@tashirojima
@tashirojima Жыл бұрын
does it really matter whether the sender or receiver returns first? let's say receiver returns first but they could be paused immediately
@leonowt
@leonowt Жыл бұрын
Race conditions may not occur in some circumstances (like what you said "could be paused immediately"), but they are actual bugs. You would like to make sure the odds of race conditions is zero.
@tashirojima
@tashirojima Жыл бұрын
​@@leonowt assume two situations 1. receiver returns -> receiver paused -> sender returns -> sender execution -> sender paused -> receiver execution 2. sender returns -> sender execution -> sender paused -> receiver returns -> receiver execution both cases we observe that sender execution -> receiver execution
@ravishankarprajapati1474
@ravishankarprajapati1474 2 жыл бұрын
I have questions please help me to understand ch := make(Chan int) ch
@ovidiuc4
@ovidiuc4 2 жыл бұрын
At this line _ch
@zakariachahboun
@zakariachahboun Жыл бұрын
your expression will be ok if you set a capacity ch := make(chan int, 1) but if you set a zero capacity you have to write to the chan from another go routine: ch := make(chan int) go func(){ ch
@ramgopal2520
@ramgopal2520 Жыл бұрын
As explained by Matt about the rendezvous behaviour of Channel, a sender can safely return(ie. proceed to the next line in the code) only when it knows that the receiver has received the value. In your case, the receiver is in the next line of the code.. Since there is no way for the receiver to notify the sender that it has received the value, your send is blocked infinitely creating a deadlock.
@alitorabi9951
@alitorabi9951 10 ай бұрын
in this way you must have channel receiver in background to send data to channel otherwise your app will be blocked
@tashirojima
@tashirojima Жыл бұрын
reading or writing a channel that is nil always blocks, so a nil channel in a select block is ignored. imo it's better to use `so` instead of `but` as the conjunction here.
Go Class: 27 Concurrent File Processing
39:18
Matt KØDVB
Рет қаралды 9 М.
Go Class: 25 Context
36:24
Matt KØDVB
Рет қаралды 21 М.
Iron Chin ✅ Isaih made this look too easy
00:13
Power Slap
Рет қаралды 36 МЛН
I'm Excited To see If Kelly Can Meet This Challenge!
00:16
Mini Katana
Рет қаралды 17 МЛН
Пранк пошел не по плану…🥲
00:59
Саша Квашеная
Рет қаралды 6 МЛН
Mock-собеседование по Go от Team Lead Ozon
48:28
Golang Channels Or Wait Groups? Let Me Explain.
18:32
Anthony GG
Рет қаралды 20 М.
GopherCon 2016: Ivan Danyliuk - Visualizing Concurrency in Go
19:41
Gopher Academy
Рет қаралды 24 М.
Buffered VS UnBuffered Channels In Golang
11:52
Anthony GG
Рет қаралды 8 М.
Master Go Programming With These Concurrency Patterns (in 40 minutes)
46:15
Advanced Golang: Channels, Context and Interfaces Explained
22:17
Code With Ryan
Рет қаралды 114 М.
Go Class: 35 Benchmarking
34:30
Matt KØDVB
Рет қаралды 3,3 М.
Go Class: 38 Testing
36:04
Matt KØDVB
Рет қаралды 3,1 М.
Goroutines: Under the Hood | Vicki Niu | Go Systems Conf SF 2020
22:11
Как бесплатно замутить iphone 15 pro max
0:59
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 8 МЛН
Сколько реально стоит ПК Величайшего?
0:37
Как удвоить напряжение? #электроника #умножитель
1:00
Hi Dev! – Электроника
Рет қаралды 1,1 МЛН
iPhone socket cleaning #Fixit
0:30
Tamar DB (mt)
Рет қаралды 17 МЛН
Какой ноутбук взять для учёбы? #msi #rtx4090 #laptop #юмор #игровой #apple #shorts
0:18
Looks very comfortable. #leddisplay #ledscreen #ledwall #eagerled
0:19
LED Screen Factory-EagerLED
Рет қаралды 8 МЛН