第一 如何判断 这个通道 是关闭 还是开启
第二 如何判断 这个通道是否满
第三 一个通道的长度 最好设置多少 有范围限制么?
第四 通道个数 我们一般为了应付并发 在程序里面 设置几个通道最好呢 ch1 ch2 ch3 ch4....肯定 有最优数量吧
第一:make就是开启通道,close就是关闭通道。没有关闭通道就是可使用状态
第二:
ch2 := make(chan string, 2)
if len(ch2) == 0{
fmt.Println("通道为空!")
} else if len(ch2) == cap(ch2) {
fmt.Println("通道已满!")
} else {
fmt.Println("通道未满!")
}
第三:
根据情况设置,channel是缓存buffer,可以用来限制goroutine并发数。也不是越小越好。根据机器性能,业务实际情况。
第四:
同三