1. 首页
  2. 主题
  3. Go问与答

不知道怎么死锁的

FengGeSe · · 1708 次点击
package main import ( "fmt" ) func ready(c chan int, quit chan bool){ for { j := <- c fmt.Println("ready ", j) } <- quit } func main() { c := make(chan int) quit := make(chan bool) go ready(c, quit) for i := 0; i < 2; i++ { c <- i fmt.Println("main ", i) } quit <- false } 错误是这样的: fatal error: all goroutines are asleep - deadlock!
更多评论
ready函数死循环了,程序不会结束的。。
#1
``` j, ok := &lt;- c if !ok { break } ``` ``` close(c) quit &lt;- false ```
#2

用户登录

没有账号?注册

今日阅读排行

    加载中

一周阅读排行

    加载中