go小白 問問大神 幾個通道的問題
第一 如何判斷 這個通道 是關(guān)閉 還是開啟
第二 如何判斷 這個通道是否滿
第三 一個通道的長度 最好設(shè)置多少? 有范圍限制么?
第四 通道個數(shù)? 我們一般為了應(yīng)付并發(fā) 在程序里面 設(shè)置幾個通道最好呢 ch1 ch2 ch3 ch4....肯定 有最優(yōu)數(shù)量吧
第一 如何判斷 這個通道 是關(guān)閉 還是開啟
第二 如何判斷 這個通道是否滿
第三 一個通道的長度 最好設(shè)置多少? 有范圍限制么?
第四 通道個數(shù)? 我們一般為了應(yīng)付并發(fā) 在程序里面 設(shè)置幾個通道最好呢 ch1 ch2 ch3 ch4....肯定 有最優(yōu)數(shù)量吧
2021-02-17
舉報
2021-07-12
第一:make就是開啟通道,close就是關(guān)閉通道。沒有關(guān)閉通道就是可使用狀態(tài)
第二:
ch2 := make(chan string, 2)
if len(ch2) == 0{
? ? fmt.Println("通道為空!")
} else if len(ch2) == cap(ch2) {
? ? fmt.Println("通道已滿!")
} else {
? ? fmt.Println("通道未滿!")
}
第三:
根據(jù)情況設(shè)置,channel是緩存buffer,可以用來限制goroutine并發(fā)數(shù)。也不是越小越好。根據(jù)機器性能,業(yè)務(wù)實際情況。
第四:
同三