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 golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to