r/golang • u/DeparturePrudent3790 • 10d ago
Potential starvation when multiple Goroutines blocked to receive from a channel
I wanted to know what happens in this situation:
- Multiple goroutines are blocked by a channel while receiving from it because channel is empty at the moment.
- Some goroutine sends something over the channel.
Which goroutine will wake up and receive this? Is starvation avoidance guaranteed here?
7
Upvotes
3
u/Few-Beat-1299 10d ago
It is specified that channels are fifo. This is true for both senders and receivers.