1.主协程只负责调用子协程,但是不会被子协程阻塞
2.在主协程中,无缓冲的chan需要输入输出成对出现,否则会死锁
3.select 特殊处理可以阻止死锁的发生,或者使用缓冲chan
4.主协程读取空的chan(若果永远没有输入-死锁,如果子协程有输入-正常)
package main
import (
"fmt"
"time"
)
var send = make(chan string,1)
func goroutine2(){
fmt.Println(111)
time.Sleep(5000*time.Millisecond)
send <- "sss"
}
func main() {
fmt.Println("Hello Golang")
go goroutine2()
fmt.Println(<- send)
}
有疑问加站长微信联系(非本文作者)