What "Ian Denhardt" says is quite reasonnable below.
>
>
>
>
>
> *The error you're seeing isn't an "out of bounds" error, rather, on
> the last send the channel is already full so the sending goroutine waits
> until there is space to insert the new item. Since there is nothing that
> will ever take stuff out of the channel, this is never going to happen
> -- therefore you have a deadlock. *
*Normally, the result of a deadlock is that things just hang, *
Finally I understand it really really clearly but not just because of what
"lan Denharbt" says but also what the others say. Thanks a lot.
2019年1月29日火曜日 17時55分17秒 UTC+9 伊藤和也:
>
> I know the general meaning of a deadlock, but I don't know the meaning of
> a deadlock in golang. For example, I send 4 values to a buffered channel
> whose maxmum size is 3 and a deadlock occurs. I think this is just "values
> are out of bounds" like array. What does a deaklock mean in golang?
>
> func main() {
> ch1 := make(chan int, 3)
> ch1<- 10
> ch1<- 20
> ch1<- 30
> ch1<- 40
> }
>
>
> fatal error: all goroutines are asleep - deadlock!
>
>
--
You received this message because you are subscribed to the Google Groups
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.