저는 golang
(whith Java
동시성 배경)을 처음 사용합니다. 코드의 평화를 고려해Go 채널 재사용으로 인해 교착 상태가 발생합니다.
package main
import "fmt"
func sendenum(num int, c chan int) {
c <- num
}
func main() {
c := make(chan int)
go sendenum(0, c)
x, y := <-c, <-c
fmt.Println(x, y)
}
이 코드를 실행하면, 나는 또 다른 go sendenum(0, c)
문이 문제를 해결 추가
fatal error: all goroutines are asleep - deadlock!
goroutine 1 [chan receive]:
main.main()
/home/tarrsalah/src/go/src/github.com/tarrsalah/stackoverflow/chan_dead_lock.go:12 +0x90
exit status 2
내가 아는이 오류를 얻을 ...하지만
및 인 경우 교착 상태가 발생 했습니까?