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.