通道有无缓冲区 的应用场景 以及理解
无缓冲 实现同步
package main
import "fmt"
func main() {
t := make(chan int)
fmt.Println("waiting")
go func() {
fmt.Println("some")
}()
//t <- 100 // 明白了 任何一个操作都会阻塞到这里 只有消费掉才可以
<-t
}
这里应用场景 在服务端 main 可以用于 阻塞主线程 结束 中间会有各种携程的处理
在做一些demo的 时候也非常有用 在不希望退出的时候可以这个使用
如果想等到所有的携程 执行完毕的时候 再退出 可以使用 sync.waitGroup