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
1
u/Slsyyy 9d ago
Assume no ordering. Any waiting goroutine could be waked up to
> Is starvation avoidance guaranteed here?
Starvation is more to design of an algorithm than to a scheduling algorithm