go小白 問(wèn)問(wèn)大神 幾個(gè)通道的問(wèn)題
第一 如何判斷 這個(gè)通道 是關(guān)閉 還是開(kāi)啟
第二 如何判斷 這個(gè)通道是否滿
第三 一個(gè)通道的長(zhǎng)度 最好設(shè)置多少? 有范圍限制么?
第四 通道個(gè)數(shù)? 我們一般為了應(yīng)付并發(fā) 在程序里面 設(shè)置幾個(gè)通道最好呢 ch1 ch2 ch3 ch4....肯定 有最優(yōu)數(shù)量吧
第一 如何判斷 這個(gè)通道 是關(guān)閉 還是開(kāi)啟
第二 如何判斷 這個(gè)通道是否滿
第三 一個(gè)通道的長(zhǎng)度 最好設(shè)置多少? 有范圍限制么?
第四 通道個(gè)數(shù)? 我們一般為了應(yīng)付并發(fā) 在程序里面 設(shè)置幾個(gè)通道最好呢 ch1 ch2 ch3 ch4....肯定 有最優(yōu)數(shù)量吧
2021-02-17
舉報(bào)
2021-07-12
第一:make就是開(kāi)啟通道,close就是關(guān)閉通道。沒(méi)有關(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,可以用來(lái)限制goroutine并發(fā)數(shù)。也不是越小越好。根據(jù)機(jī)器性能,業(yè)務(wù)實(shí)際情況。
第四:
同三